执行命令"ionic cordova run android"时,它会显示下一个错误:
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)
首先,您可以在运行"ionic cordova run android"之前预启动模拟器时检查它是否正常工作。您可以使用 Android Studio 预启动模拟器,也可以使用 Android Studio 预启动模拟器。
emulator -avd your_avd_name
您可以通过运行来检查您拥有的avd_name
emulator -list-avds
现在我假设可以使用预启动模拟器运行。
检查您的文件您的App/platforms/android/cordova/lib/emulator.js
您可能会看到如下代码:
return superspawn.spawn('avdmanager', ['list', 'avd'])
这意味着 cordova 将尝试调用 "avdmanager list avd"。您可以运行相同的命令来查看相同的错误。就我而言,我在运行"avdmanager"时看到相同的错误。不知何故,我的Android SDK工具被损坏了。我只是从Android Studio中删除并重新安装它,事情就会再次开始工作。
祝你好运!