Reputation: 41
When executing the command "ionic cordova run android" it presents the next error:
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)
Upvotes: 3
Views: 4617
Reputation: 225
First you can check if it's working when you pre-launch the emulator before running "ionic cordova run android". You can either pre-launch the emulator using your Android Studio, or
emulator -avd your_avd_name
You can check to see what avd_name you have by running
emulator -list-avds
Now I assume can run with a pre-launch emulator.
Check your file yourApp/platforms/android/cordova/lib/emulator.js
You likely will see some code like this:
return superspawn.spawn('avdmanager', ['list', 'avd'])
This means cordova will try to invoke "avdmanager list avd". You can run this same command to see the same error. In my case, I see the same error when just running "avdmanager". Somehow my Android SDK Tools was corrupted. I just remove and reinstall it from Android Studio and things start working again.
Good luck!
Upvotes: 2