当我安装Java JDK 1.8.x时,它最初工作正常,当我在关闭过夜后第二天重新启动时,我在构建时得到了这个:
$ ionic build android
Updated the hooks directory to have execute permissions
Running command: d:\installs\nodejs\node.exe d:\htdocs\publicworks\mobile\hooks\after_prepare\010_add_platform_class.js d:/htdocs/publicworks/mobile
add to body class: platform-android
Running command: d:\htdocs\publicworks\mobile\platforms\android\cordova\build.bat
ANDROID_HOME=c:\Users\mtpultz\AppData\Local\Android\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_45\bin
Running: d:\htdocs\publicworks\mobile\platforms\android\gradlew cdvBuildDebug -b d:\htdocs\publicworks\mobile\platforms\android\build.gradle -Dorg.gradle.daemon=true
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk1.8.0_45\bin
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
d:\htdocs\publicworks\mobile\platforms\android\cordova\node_modules\q\q.js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "d:\htdocs\publicworks\mobile\platforms\android\gradlew cdvBuildDebug -b d:\htdocs\publicworks\mobile\platforms\android\build.gradle -Dorg.gradle.daemon=true"
但是Java绝对安装在这个目录中并且没有其他地方???在我的终端:
java -version
为我的JDK生成正确的输出:
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
环境变量设置为:
JAVA_HOME =
C:\Program Files\Java\jdk1.8.0_45\bin
并且路径包含:
D:\installs\nodejs;
C:\Users\mtpultz\AppData\Roaming\npm;
D:\installs\apache-ant\bin;
C:\Users\mtpultz\AppData\Local\Android\android-sdk\tools;
C:\Users\mtpultz\AppData\Local\Android\android-sdk\platform-tools;
有什么建议吗?
答案 0 :(得分:18)
JAVA_HOME
应该设置为java的主目录而不是bin。所以替换这个:
C:\Program Files\Java\jdk1.8.0_45\bin
与
C:\Program Files\Java\jdk1.8.0_45
java/bin
dir被添加到PATH
系统变量中以从任何地方运行java。
答案 1 :(得分:4)
做一件事。这将帮助你
删除" \ bin"从你的JAVA_HOME路径。意思是给路径直到。
<?xml version="1.0" encoding="utf-8"?>
...
它会与你合作。
答案 2 :(得分:1)
对于Linux用户:
$sudo gedit $HOME/.bashrc
写在最后
#Android Path
export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${PATH}:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools
export PATH
#JAVA
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
export JAVA_HOME
$source ~/.bashrc
强> 之后打开
$sudo gedit /etc/environment
并在末尾添加
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
$source /etc/environment
强> 答案 3 :(得分:1)
1.Error:JAVA_HOME设置为无效目录
JAVA_HOME应该设置为java的主目录而不是bin。所以替换这个:
C:\ Program Files \ Java \ jdk1.8.0_45 \ bin 与
C:\ Program Files \ Java \ jdk1.8.0_45 将java / bin目录添加到PATH系统变量以从任何地方运行java
检查您的环境变量 1. android平台工具 2. android工具 3. sdk位置 4. git location
唯一的解决方案是
cordova平台添加android --nofetch
答案 4 :(得分:0)
确保使用Java SE SDK而不是Java EE SDK,它解决了我的问题。
答案 5 :(得分:0)
确保 JAVA_HOME 具有以下路径并安装JDK SE。
C:\ Program Files \ Java \ jdk1.8.0_131