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

Posted

技术标签:

【中文标题】avdmanager:命令失败,退出代码为 1 cordova【英文标题】:avdmanager: Command failed with exit code 1 cordova 【发布时间】:2017-12-18 10:20:20 【问题描述】:

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

【问题讨论】:

@Neitzen ID Android home 设置不正确 @Gandhi `ayam@laptop:~/Documents/learn/hello$ echo $ANDROID_HOME /home/ayam/Android/Sdk ayam@laptop:~/Documents/learn/hello$ cd /home/ ayam/Android/Sdk ayam@laptop:~/Android/Sdk$ ls build-tools extras ndk-bundle platform sources emulator licenses patcher platform-tools tools ` 您是否先使用 AVD 管理器创建了 AVD? 【参考方案1】:

这个问题可能有3个来源:

    Android 工具路径设置 JAVA 安装 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

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

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

在终端中执行此操作:

echo $JAVA_HOME

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

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

就是这样!

【讨论】:

@Samuel Liew♦ 你是对的。我已经从最不相关的帖子中删除了我的答案,并且只想保留这个问题的答案。因为它是最相关的。但是,我无法取消删除我的其他答案,所以不得不再次发布。感谢您的理解。最好的问候。 我正在运行 JDK 11,为我设置 JAVA_HOME 的正确命令是 export JAVA_HOME="/usr/libexec/java_home -v 11"【参考方案2】:

当系统中没有设置虚拟设备时会出现此问题(没有目标版本或没有目标设备)。我不确定这是否是必须的。您可以使用 SDK 管理器添加设备。

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

然后尝试科尔多瓦要求。 如果你能够运行模拟器的实例,那么这个错误就会消失..(它对我有用!)

希望这会有所帮助..

【讨论】:

您能否更具体地说明如何执行此操作? “在 SDK 管理器中,添加一个 android 存储库(例如 - Android 5.0.1 API 21)和所有依赖项,如 SDK 工具等。” 使用sdkmanager 命令之类的工具。添加平台的示例命令 - sdkmanager "platform-tools" "platforms;android-28" 用于 API 级别 28(最新日期)。更多信息 - developer.android.com/studio/command-line/sdkmanager【参考方案3】:

如果你在 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 的要求。

【讨论】:

【参考方案4】:

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

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

【讨论】:

【参考方案5】:

要进行更改在您的系统上永久保存并且变量在关闭终端后继续工作,请在重新启动后使用:

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

【讨论】:

【参考方案6】:

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

【讨论】:

以上是关于avdmanager:命令失败,退出代码为 1 cordova的主要内容,如果未能解决你的问题,请参考以下文章

MacOS“错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)”

Apple Mach-O链接器(id)错误 - 链接器命令失败,退出代码为1(使用-v查看调用)C ++ SFML

无法安装“cordova-plugin-whitelist”:错误:cmd:命令失败,退出代码为 1

cocoapods - 链接器命令失败,退出代码为 1

Xcode 签名失败命令 /usr/bin/codesign 失败,退出代码为 1

Xcode - 链接器命令失败,退出代码为 1