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

8wigbo56  于 2022-11-15  发布在  其他
关注(0)|答案(7)|浏览(242)

我刚开始从 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

weylhg0b

weylhg0b1#

此问题可能有3个原因:

  1. Android工具路径设置
  2. JAVA安装
  3. JAVA_HOME路径设置
    我已经解释了如何在下面的macOS上解决所有这些问题(Windows可能会略有不同)

1. Android工具可能未添加正确的路径:

我通过在macOS终端中这样做解决了这个问题:

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/

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

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

它曾经被直接安装到用户文件夹,而不是在Library中,因此造成了混乱。

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

您需要使用JAVA SE v 1.8才能使Cordova工作。
在终端中执行以下操作:

/usr/libexec/java_home -V

并检查该版本是否可用。如果没有,你可以研究如何安装它在那里与homebrew。然后再次尝试上述命令,以双重检查它安装正确。

3. JAVA_HOME路径可能设置不正确

在终端中执行以下操作:

echo $JAVA_HOME

如果没有看到任何内容,则意味着$JAVA_HOME变量没有正确导出。您可以在终端中执行以下操作来解决此问题:

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

就这样了!

uqjltbpv

uqjltbpv2#

当系统中没有设置虚拟设备(没有目标版本或没有目标设备)时会出现此问题。我不确定这是否是必须的。您可以使用SDK管理器添加设备。
在SDK管理器中,添加Android存储库(例如- Android 5.0.1 API 21)和所有依赖项,如SDK工具等。
然后尝试cordova要求。如果你能够运行一个模拟器的示例,那么这个错误将会消失..(它为我工作的方式!)
希望这对你有帮助。

aelbi1ox

aelbi1ox3#

如果你在2019年准备好了,这里是你需要解决这个问题的地方,之前无论是什么操作系统,都是路径变量问题。虽然我们正在处理Open JDK 11+,只是为了变得非常先进或更新到最新版本。
步骤1:删除所有可用的JavaVirtualMachines步骤2:检查您的系统是否不含Java(无Java JVM或JRE)步骤3:安装Java 8 JDK(因为Java 1.8和相应的JRE支持Cordova)步骤4:使用sdkmanager命令安装Android目标。步骤5:安装任何你需要从要求和设置他们的路径在mac使用bash配置文件或临时路径。或者你可能需要设置一次又一次。
您可以开始了,抱歉,我不能在这里分享命令,因为它们已经在谷歌。无意冒犯!我知道你接近修复这个,但我希望即使这样也能帮助你理解 cordova 的要求。

guykilcj

guykilcj4#

在Android Studio中,您可以使用cmd + ;(Mac版)或Ctrl + Alt + Shift + S(Windows/Linux版)打开项目结构对话框,在该对话框中,您可以设置JDK位置以及Android SDK位置。
将此变量添加到.bashrc或.zshrc配置中,以便JAVA_HOME变量指向Android使用的Java版本。

8nuwlpux

8nuwlpux5#

要使更改永久保留在系统上并使变量在关闭终端后继续工作,请在重新启动后用途:

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
0s0u357o

0s0u357o6#

此外,如果您在没有模拟器或Android设备的情况下运行应用程序,则可能会出现此问题。

sc4hvdpw

sc4hvdpw7#

我发现这个问题的解决方案是从AndroidStudio的SDK管理器安装cmdline-tools,然后将其添加到PATH中,如下所示:export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin

相关问题