Cordova执行requirements检测时报Android target未安装ENOENT错误如何解决
Cordova Android target 检测报错解决方法
执行
cordova requirements报错信息:Requirements check results for android: Java JDK: installed 1.8.0 Android SDK: installed true Android target: not installed Command failed with ENOENT: android list target spawn android ENOENT 'android' is not recognized as an internal or external command, operable program or batch file. Gradle: installed C:\Users\user\gradle-7.2\bin\gradle.BAT
报错根因为:新版Android SDK已废弃android命令,旧版本Cordova Android平台仍在调用该命令检测目标版本,才会触发找不到命令的报错。可按以下优先级尝试解决:
步骤1:升级Cordova Android平台到兼容版本
这是最高效的解决方法,无需修改其他配置:
- 执行命令移除旧版本安卓平台:
cordova platform rm android - 执行命令安装最新稳定版安卓平台:
cordova platform add android@latest - 重新执行
cordova requirements检测是否恢复正常。
步骤2:检查Android SDK环境变量配置
如果升级平台后仍报错,按以下要求核对环境变量:
- 系统变量中新增
ANDROID_HOME,值为本地Android SDK的根目录,默认路径为C:\Users\你的用户名\AppData\Local\Android\Sdk - 把以下4个路径添加到系统
Path变量中:%ANDROID_HOME%\tools%ANDROID_HOME%\tools\bin%ANDROID_HOME%\platform-tools%ANDROID_HOME%\cmdline-tools\latest\bin
- 配置完成后重启终端,执行
sdkmanager --version验证配置,正常输出版本号即为配置生效。
步骤3:手动安装对应Android目标版本
如果环境变量配置完成后仍提示Android target未安装,先确认你使用的Cordova Android平台对应要求的编译SDK版本,例如Cordova Android 12.x要求编译SDK版本为33,执行命令安装对应版本即可:sdkmanager "platforms;android-33" "build-tools;33.0.2"
将命令中的版本号替换为你项目要求的版本即可。
旧项目兼容方案
如果因项目依赖限制无法升级Cordova Android平台,可下载Android SDK Tools 25.2.5及更早版本(该版本仍包含废弃的android命令),解压后覆盖本地SDK目录下的tools文件夹即可临时解决问题,该方案为权宜之计,长期使用还是建议升级平台版本。
内容的提问来源于stack exchange,提问作者StizzKizz
相关产品推荐
相关产品推荐

