我在传递命令时遇到以下错误
cordova requirements
。
我已经全局安装了 cordova (-g),安装了 apache ant,android sdk 并设置了 %ANDROID_HOME% 根路径已经安装了节点仍然无法模拟 android
$ cordova requirements Requirements check results for android: Java JDK: installed 14.0.2 Android SDK: not installed Failed to find 'ANDROID_SDK_ROOT' environment variable. Try setting it manually. Detected 'adb' command at C:\adb but no 'platform-tools' directory found near. Try reinstall Android SDK or update your PATH to include valid path to SDK\platform-tools directory. Android target: installed Google Inc.:Google APIs:24,Google Inc.:Google APIs:23,Google Inc.:Google
首先看看你显示的错误:
Android 的要求检查结果:Java JDK:已安装 14.0.2Android SDK:未安装未能找到“ANDROID_SDK_ROOT”环境变量。
Cordova 仍然支持 Java JDK 8。因此您必须卸载其他 Java 版本并从此处安装 Java JDK 8[Oracle Java 或 Open JDK]:
安装后,设置变量路径,如JAVA_HOME & javac
有关步骤,请参见此处:https://androidabcd.info/how-to-set-java_home-in-windows-10/
可以查看java版本和javac版本:
java -version
javac -version
现在需要安装Android studio来获取Android SDK。一旦你得到android-sdk路径,你就可以将它设置在一个可变路径中。
对于 Windows:
set ANDROID_SDK_ROOT=C:\installation location\android-sdk
set PATH=%PATH%; %ANDROID_SDK_ROOT%\tools; %ANDROID_SDK_ROOT%\platform-tools;
打开Android Studio可以查看sdk的安装位置,在右上角的选项中选择“SDK Manager”。然后复制sdk位置。
此外,您需要 Gradle,并且从here 下载 Gradle 二进制文件并将其解压缩到 C 文件夹中。
设置摇篮路径:
set PATH=%PATH%;C:\Gradle\gradle-7.1.1\bin;
假设您使用的是 Windows 10。在 Windows 搜索菜单中,搜索“编辑系统环境变量”
这将打开“系统属性”对话框。单击“环境变量...”按钮。这将打开一个“环境变量”对话框。
这里可以新建变量,可以是User,也可以是System。点击“新建”
输入
ANDROID_SDK_ROOT
作为名称。该值应该是 JDK 的完整绝对路径。
顺便说一句,Android sdk 需要 java 8,而你安装了 java 14。某些 Android 工具无法使用高于 JDK 8 的版本。 - 现代 Android SDK 现在最高支持 JDK 11,可能更高。
我在 2023 年遇到了这个错误,降级 JDK 会给我带来一大堆关于 gradle 等的其他问题
cordova好像需要设置
ANDROID_SDK_ROOT
,但是ANDROID_SDK_ROOT
和ANDROID_HOME
冲突导致了上面的错误。
我已经将我的 .zshrc 更改为完全取消设置
ANDROID_HOME
;请注意,这是倒退的,因为 ANDROID_SDK_ROOT
已弃用,取而代之的是 ANDROID_HOME
。
我的
.zshrc
文件现在有以下内容:
# cordova-android was complaining it couldn't find the tools bin, for now I have to use ...
# ... ANDROID_SDK_ROOT and ensure ANDROID_HOME is not set
ANDROID_SDK_ROOT="/Users/me/Library/Android/sdk"
export PATH="${PATH}:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools:${ANDROID_SDK_ROOT}/emulator:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/tools"
unset ANDROID_HOME