当我在我的项目路径中运行“cordova run android”时,我得到了
Android Studio project detected
cordova-android-support-gradle-release: Android platform: V7+
cordova-android-support-gradle-release: Wrote custom version '27.+' to /path/to/platforms/android/app/build.gradle
cordova-android-support-gradle-release: Wrote custom version '27.+' to /path/to/cordova-android-support-gradle-release/norsan-cordova-android-support-gradle-release.gradle
ANDROID_HOME=/usr/lib/android-sdk
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Requirements check failed for JDK 1.8 or greater
我的爪哇版本
$ java --version
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.119.04)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.119.04, mixed mode, sharing)
我的javac版本
$ javac --version
javac 11.0.5
我的科尔多瓦版本
$ cordova --version
9.0.0 (cordova-lib@9.0.1)
我的Node版本
$ node --version
v10.15.2
我的Nodejs版本
$ nodejs --version
v10.15.2
我的NPM版本
$ npm --version
5.8.0
我的版本格拉德
$ gradle -version
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/usr/share/java/groovy-all.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
------------------------------------------------------------
Gradle 4.4.1
------------------------------------------------------------
Build time: 2012-12-21 00:00:00 UTC
Revision: none
Groovy: 2.4.16
Ant: Apache Ant(TM) version 1.10.5 compiled on March 28 2019
JVM: 11.0.5 (Private Build 11.0.5+10-post-Ubuntu-0ubuntu1.119.04)
OS: Linux 5.0.0-38-generic amd64
我发现android-Studio--version
什么也没做,只是默默等待,但是当我通过图形用户交互界面打开程序时,我看到版本是3.6.1。
我的androidsdk版本未知…不知道为什么。
$ androidsdk --version
SDK_ROOT=/home/galen/snap/androidsdk/21/AndroidSDK
Picked up _JAVA_OPTIONS: -Duser.home=/home/galen/snap/androidsdk/21
Unknown version
我的Ubuntu版本
$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.04
DISTRIB_CODENAME=disco
DISTRIB_DESCRIPTION="Ubuntu 19.04"
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
我的理解是Java 11比JDK 1.8要晚,那么为什么需求检查会失败呢?我如何解决这个需求检查失败的问题?
这里的问题是该命令不考虑JAVA_HOME变量(您还需要将其设置为Java8)
正如有人已经提到的,从8到11的颠簸是巨大的。许多在Java8中的库在Java11中被移出,所以虽然Java本身是向下兼容的,但包含的库不是。
对我来说,有效的方法是将JAVA_HOME设置为JDK8
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
我需要使用命令配置系统范围的Java和javac设置
sudo update-alternatives --config java
sudo update-alternatives --config javac
更新:
Cordova 10 支持 Java 11,它允许与 cordova 9 相同的最低 Android 版本。现在,这应该是首选解决方案。
原始答案(供参考):
你说得对,Java 11比JDK 1.8更新,理论上应该可以工作。
然而,科尔多瓦明确要求JDK 1.8仍然:
Android不使用oracles java,而是使用他们自己的实现,目前类似于html" target="_blank">java8。所以这是一个Android限制,不是cordova可以修复的。
(另见第510期)
他们的开发指南也明确提到了JDK 1.8:
Java开发套件(JDK)
安装Java开发工具包(JDK) 8。
因此,现在的修复是安装JDK 1.8(如果您选择Oracle,请注意他们最近更改的许可条款)。不过,您可以观看PR 928,它试图放宽该限制。
问题内容: 我在Windows 7 OS中使用Cordova 6.4.0,但是一旦尝试构建android版本,就会收到此错误: 问题说明 Java Home变量已正确设置为JDK路径,但我不知道为什么会遇到此问题。有什么建议吗? 问题答案: 卸载所有以前的JDK,包括1.8。安装JDK 1.8。
我在Windows7操作系统中使用Cordova 6.4.0,但当我试图构建android版本时,我得到了这个错误: Java Home变量被正确地设置为JDK路径,但我不知道为什么会出现这个问题。有什么建议吗?
在尝试使用cordova构建android apk时,我收到以下错误: 错误:JDK 1.8或更高版本的需求检查失败 我能做些什么来解决这个错误?
我刚刚更新了我的本地机器设置,现在配置为- 现在,当我将Android(ionic build android)构建为- 错误:JDK 1.8或更高版本的需求检查失败 需要帮助!!!
我在JRE版本中遇到了一些问题,所以我尝试使用插件Choose Runtime来更改它。我将其更改为Java 1.8.0_112-release-287-B2。现在,当尝试启动IntelliJ时,我得到一个不受支持的Java版本错误:不能在Java 1.8.0_112-release-287-B2下启动:需要Java 11或更高版本。我已经尝试修改ide64.exe.jdk文件中的运行时路径,但似
android_home=c:\users\admin\appdata\local\android\sdk(DEPRECATED) JDK 8的需求检查失败('1.8.*')!检测到的版本:9.0.1 检查ANDROID_SDK_ROOT/JAVA_HOME/PATH环境变量。 $ionic信息 离子型: 离子(离子CLI):4.12.0(C:\users\admin\appdata\roamin