avdmanager:命令失败,退出代码为1 cordova

时间:2017-07-13 14:39:54

标签: android cordova apache-cordova

我刚刚开始使用cordova官方教程制作我的第一个原生cordova应用程序,当我运行时

ayam@laptop:~/Documents/learn/hello$ cordova requirements

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

我得到了avdmanager: Command failed with exit code 1

5 个答案:

答案 0 :(得分:3)

此问题可能有3个起源:

  1. Android工具路径设置
  2. JAVA安装
  3. JAVA_HOME路径设置

1。可能未使用正确的路径添加Android工具:

我通过在macOS终端中执行此操作解决了该问题:

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/

这些都是Cordova所需的所有路径变量。

重要提示:
确保在/Android/内的用户文件夹内有一个名为Library的文件夹!

以前它是直接安装到用户文件夹中,而不是安装在Library中,所以造成了混乱。

2。 JAVA可能丢失或版本错误:

您需要使用JAVA SE v 1.8才能使Cordova正常工作。
在终端上执行此操作:

/usr/libexec/java_home -V

,然后检查该版本是否可用。如果没有,您可以研究如何使用自制软件将其安装在其中。然后再次尝试上述命令以再次检查其安装是否正确。

3。 JAVA_HOME路径可能未正确设置

在终端上执行此操作

echo $JAVA_HOME

如果未看到任何内容,则说明您的$JAVA_HOME变量未正确导出。您可以通过在终端中执行以下操作来解决此问题:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

仅此而已!

答案 1 :(得分:2)

如果系统中未设置虚拟设备(无目标版本或无目标设备),则会出现此问题。我不确定这是否必须。您可以使用SDK管理器添加设备。

在SDK管理器中,添加一个android存储库(例如 - Android 5.0.1 API 21)和所有依赖项,如SDK工具等。

然后尝试cordova要求。 如果你能够运行一个模拟器实例,那么这个错误将会消失..(这对我有用!)

希望这会有所帮助..

答案 2 :(得分:1)

如果您已准备好在2019年解决此问题,那么无论它是什么操作系统,以前都应该是路径变量问题。 在我们处理Open JDK 11+时,只是为了使其非常高级或更新为最新版本。

步骤1:删除所有可用的JavaVirtualMachines 步骤2:检查系统是否不包含Java(没有Java JVM或JRE) 步骤3:安装Java 8 JDK(因为Java 1.8和相应的JRE支持Cordova) 步骤4:使用sdkmanager命令安装Android Target。 步骤5:根据需求安装所需内容,并使用bash配置文件或临时路径在mac中设置其路径。或者您可能需要一次又一次地设置它。

您走的很好,很抱歉,我无法在这里共享这些命令,因为它们已经在Google中提供了。没有恶意!我知道您已经在解决此问题,但是我希望这也能帮助您了解Cordova的要求。

答案 3 :(得分:0)

在Android Studio中,您可以使用cmd + ;(对于Mac)或Ctrl + Alt + Shift + S(对于Windows / Linux)来弹出“项目结构”对话框。在其中,您可以设置JDK位置以及Android SDK位置。

将此添加到您的.bashrc或.zshrc配置中,以便JAVA_HOME变量指向Android使用的Java版本。

答案 4 :(得分:0)

要进行更改在系统上永久保留,并且变量在关闭终端后仍然有效,请在重新启动后使用:

nano ~/.bash_profile 

添加行:

export ANDROID_HOME=/YOUR_PATH_TO/android-sdk
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/emulator

要立即使其可用

source ~/.bash_profile

重新打开终端,并检查其是否有效:

echo $ANDROID_HOME
echo $JAVA_HOME