我试图在 Ubuntu 上运行 ionic cordova build android
并收到以下错误:
You have been opted out of telemetry. To change this, run: cordova telemetry on.
ANDROID_HOME=/opt/android-sdk
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Error: Requirements check failed for JDK 1.8 or greater
如您所见,JAVA_HOME 指向 JDK 8。
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64
$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
这是 ionic info
的输出
global packages:
@ionic/cli-utils : 1.5.0
Cordova CLI : 7.0.1
Ionic CLI : 3.5.0
local packages:
@ionic/app-scripts : 2.0.2
@ionic/cli-plugin-ionic-angular : 1.3.2
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.5.3
System:
Node : v8.2.1
OS : Linux 4.4
Xcode : not installed
ios-deploy : not installed
ios-sim : not installed
npm : 5.3.0
我错过了什么?
编辑
安装oracle jdk后,还是报同样的错误。
You have been opted out of telemetry. To change this, run: cordova telemetry on.
ANDROID_HOME=/opt/android-sdk
JAVA_HOME=/usr/lib/jvm/java-1.8.0-oracle
Error: Requirements check failed for JDK 1.8 or greater
$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-oracle
$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
最佳答案
/usr/bin/javac 指向 jdk 7。使用命令 sudo update-alternatives --config javac
将其更改为指向 OpenJDK 版本 8 和一切都很好。我现在能够构建它 - 即使使用 OpenJDK 8 java,也无需安装 oracle jdk。
关于java - Ionic 2 build android 失败(JDK 1.8 或更高版本的要求检查失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45437767/