Mac环境执行ionic cordova run android命令运行安卓APP报错
解决Ionic Cordova Android运行报错:JDK版本不兼容及SDK环境变量问题
你遇到的是两个核心问题:JDK版本不符合要求,以及ANDROID_SDK_ROOT环境变量未正确配置,下面是分步解决的方案:
一、修复JDK版本问题
Ionic Cordova当前要求使用JDK 8(1.8.*版本),而你现在安装的是JDK 12.0.2,这会直接导致编译失败。你可以按以下步骤处理:
安装JDK 8:
推荐使用AdoptOpenJDK(无需登录即可下载),找到macOS版本的JDK 8完成安装。安装后,它的路径通常是/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home。配置JAVA_HOME环境变量:
根据你使用的shell(zsh或bash),编辑对应的配置文件:- zsh用户:终端运行
open ~/.zshrc - bash用户:终端运行
open ~/.bash_profile
在文件末尾添加以下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH- zsh用户:终端运行
让配置生效并验证:
- 保存文件后,zsh用户运行
source ~/.zshrc,bash用户运行source ~/.bash_profile - 终端输入
java -version,如果输出显示1.8.*版本,说明JDK配置成功。
- 保存文件后,zsh用户运行
二、配置ANDROID_SDK_ROOT环境变量
报错提示ANDROID_SDK_ROOT=undefined,而ANDROID_HOME已经被废弃,需要设置官方推荐的环境变量:
确认你的Android SDK路径:根据报错信息,路径是
/Users/Felix/Library/Android/sdk。同样在刚才的shell配置文件(/.zshrc或/.bash_profile)末尾添加:
export ANDROID_SDK_ROOT=/Users/Felix/Library/Android/sdk export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH生效配置并验证:
- 运行对应的
source命令(和JDK配置时一致) - 终端输入
echo $ANDROID_SDK_ROOT,如果输出正确路径则配置成功;再输入adb version,能正常输出adb版本说明platform-tools路径配置没问题。
- 运行对应的
三、重新运行Ionic应用
完成以上配置后,关闭当前终端窗口,重新打开一个新终端,运行:
ionic cordova run android
此时应该能正常编译并将应用运行到安卓设备上了。
内容的提问来源于stack exchange,提问作者Akshata Bhosale
相关产品推荐
相关产品推荐

