问题
i just started to make my first native cordova app from cordova official tutorial, and when I run
ayam@laptop:~/Documents/learn/hello$ cordova requirements
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: not installed
*** avdmanager: Command failed with exit code 1
Gradle: installed /usr/local/gradle-3.5/bin/gradle
Error: Some of requirements check failed
I got avdmanager: Command failed with exit code 1
回答1:
This problem has possibly 3 origins:
- Android tools path settings
- JAVA installation
- JAVA_HOME path settings
I have explained how to solve all of these on macOS below (Windows might be slightly different)
1. Android tools might not be added with the correct path:
I solved it by doing this in macOS terminal:
PATH=$PATH:$HOME/Library/Android/Sdk/emulator
PATH=$PATH:$HOME/Library/Android/Sdk/tools
PATH=$PATH:$HOME/Library/Android/Sdk/tools/bin
PATH=$PATH:$HOME/Library/Android/Sdk/platform-tools
export ANDROID_HOME=$HOME/Library/Android/
These are all the required path variables by Cordova.
Important:
Make sure that there is a folder called /Android/
inside your user folder inside Library
!
It used to be installed directly to the user folder instead of in Library
so therefor the confusion.
2. JAVA might be missing or the wrong version:
You need to use JAVA SE v 1.8 for Cordova to work.
Do this in the terminal:
/usr/libexec/java_home -V
and check if that version is available or not. If not you can research how to install it in there with homebrew. Then try the above command again to double check it installed properly.
3. JAVA_HOME path might not be set up properly
Do this in the terminal:
echo $JAVA_HOME
If you see nothing that means your $JAVA_HOME
variable is not exported properly. You can solve this by doing this in the terminal:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
That's all!
回答2:
This problem arises when there is no virtual device set up in the system (No target version or no target device). I am not sure if that is a must. You can add a device using SDK manager.
In SDK manager, Add an android repository (For example - Android 5.0.1 API 21) and all dependencies like SDK Tools etc.
Then try cordova requirements. If you are able to run an instance of emulator then this error will go off..(It worked for me that way!)
Hope this helps..
回答3:
If you are ready this in 2019 here is what you need to for this problem, earlier that would have been a path variables issues regardless of what OS it is. While we are dealing with Open JDK 11+ just for being pretty advanced or updated to latest releases.
Step 1: Remove all available JavaVirtualMachines Step 2: Check whether your system is Java free (No Java JVM or JRE) Step 3: Install Java 8 JDK ( As Cordova is supported by Java 1.8 and corresponding JREs) Step 4: Install Android Targets using sdkmanager command. Step 5: Install whatever you need from requirements and set their path in mac using bash profile or temporary paths. Or you may need to set it again and again.
You are good to go, Sorry I could not share the commands over here as they are already available in Google. No Offence! I knew you were close fixing this, but I hope even this helps you understanding Cordova requirements.
回答4:
In Android Studio, you can use cmd + ;
for Mac or Ctrl + Alt + Shift + S
for Windows/Linux to pull up the Project Structure dialog. In there, you can set the JDK location as well as the Android SDK location.
Add this to your .bashrc or .zshrc config so that the JAVA_HOME variable points to the Java version used by Android.
来源:https://stackoverflow.com/questions/45083924/avdmanager-command-failed-with-exit-code-1-cordova