2017-08-07 326 views
1

当执行命令“离子科尔多瓦运行Android的”它提出了一个错误:错误:avdmanager:命令失败,退出代码1个错误输出

ANDROID_HOME=/Users/usuario/Library/Android/sdk 
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home 
No target specified and no devices found, deploying to emulator 

Error: avdmanager: Command failed with exit code 1 Error output: 
Exception in thread "main" java.lang.NoSuchMethodError: com.android.prefs.AndroidLocation.getAvdFolder()Ljava/lang/String; 
    at com.android.sdklib.tool.AvdManagerCli.init(AvdManagerCli.java:278) 
    at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:210) 
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200) 
+0

该应用程序是否运行'ionic serve'? – 0mpurdy

+0

不是,离子cordova运行android! –

+0

是的,我明白'是你想要做的,但是当你运行'ionic serve'时有错误吗? – 0mpurdy

回答

1

首先,你可以检查它的工作,当你预启动在运行“离子cordova运行android”之前的模拟器。使用Android Studio中,您可以预先启动模拟器,或

emulator -avd your_avd_name 

您可以检查,看看有什么avd_name你必须通过运行

emulator -list-avds 

现在假设可以用一个发射前的模拟器中运行。

检查文件yourApp /平台/安卓/科尔多瓦/ lib中/ emulator.js

你可能会看到这样一些代码:

return superspawn.spawn('avdmanager', ['list', 'avd']) 

这意味着科尔多瓦将尝试调用“avdmanager名单AVD”。您可以运行相同的命令来查看相同的错误。就我而言,当我运行“avdmanager”时,我看到了同样的错误。不知何故,我的Android SDK工具已损坏。我只是从Android Studio中删除并重新安装它,然后重新开始工作。

祝你好运!

+0

如果您在没有Android Studio的情况下使用Android命令行工具,该怎么办? – Chloe

+0

我有同样的问题,但没有使用科尔多瓦,只有Android命令行工具。我通过删除tools /目录并将命令行工具重新提取到android-sdk文件夹中对其进行了修复。 – Chloe

相关问题