我正在尝试使用以下命令在Android设备上运行示例应用程序:
sudo ionic cordova run android --device
我遇到此错误:
Failed to find 'JAVA_HOME' environment variable. Try setting it manually.
[ERROR] An error occurred while running subprocess cordova.
cordova build android --device exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
我已经设置了JAVA_HOME环境变量,但这不起作用。
~/Ionic/helloWorld$ echo $JAVA_HOME
/usr/lib/jvm/java-12-openjdk-amd64
有什么建议吗?
答案 0 :(得分:0)
您已经安装了Java OpenJDK,应该安装Java SE。您可以找到特定于系统的JDK here。
您的JAVA_HOME应该如下所示
/usr/lib/jvm/java-8-oracle (I have java 8 , you can have any version)
答案 1 :(得分:0)
您的$JAVAHOME
指向正确的位置。但是路径应该具有$JAVAHOME/bin
目录,而不是$JAVAHOME
本身。
JAVA_HOME="/opt/jdk1.12.0"
export JAVA_HOME
PATH="$PATH:$JAVA_HOME/bin"
您应该考虑改为使用Oracle Java PPA。它通常比手动安装具有更多功能。您也不必担心设置环境变量。这就是大多数人使用的方式。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
尝试运行java -version和javac -version
来验证路径是否已设置。
希望有帮助。
答案 2 :(得分:0)
我让它工作的唯一方法是在命令本身中声明变量。
试试这个:
sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ANDROID_SDK_ROOT=/usr/lib/Android/Sdk/ cordova requirements android --verbose
答案 3 :(得分:0)
第 1 步:
您的 Java SDK 12 版本未设置为 JAVA_HOME
环境。您可以使用以下命令进行设置:
JAVA_HOME="/opt/jdk1.12.0"
export JAVA_HOME
PATH="$PATH:$JAVA_HOME/bin"
提示:您可以使用以下命令搜索机器上安装的 JDK 列表:
cmd + shift + G 并输入 /Library/Java/JavaVirtualMachines
第 2 步:
如果你得到一个错误native-run was not found on your PATH 那么你需要全局安装:
npm i -g native-run
第 3 步:
运行上述命令时,如果出现权限被拒绝错误,请使用超级管理员权限运行:
sudo npm i -g native-run
第 4 步:
现在再次运行 sudo ionic cordova run android --device
命令时,您可能会收到有关 gradle 的错误。您可以在终端窗口中使用以下命令修复此问题:
brew install gradle
提示:我花了大约 10 分钟来安装 gradle(第一次使用)。
第 5 步:
现在 sudo ionic cordova run android --device
命令应该可以在 android 设备上启动您的应用程序而不会出现任何错误。