首页 > 解决方案 > JDK 8 的需求检查失败

问题描述

我在我的 Cordova 产品上安装了 JDK 8。当我运行 yum install java-1.8.0-openjdk 时,我得到了这个:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.lysator.liu.se
 * epel: ftp.lysator.liu.se
 * extras: ftp.lysator.liu.se
 * remi-php55: remi.schlundtech.de
 * remi-php56: remi.schlundtech.de
 * remi-php72: remi.schlundtech.de
 * remi-safe: remi.schlundtech.de
 * updates: ftp.lysator.liu.se
Package 1:java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 already installed and latest version
Nothing to do

我的Java版本是:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

当我运行:alternatives --config java 有 2 个提供 java 的程序。

  Selection    Command
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)
   2           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64/bin/java)

在我的 bash_profile 中:

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

所以这里一切看起来都很好。

但是当我运行cordova run android时,我得到了这个:

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=/home/xxxxxx/Android/Sdk (DEPRECATED)
Requirements check failed for JDK 8 ('1.8.*')! Detected version: 11.0.3
Check your ANDROID_SDK_ROOT / JAVA_HOME / PATH environment variables.

我真的需要帮助。

更新:现在我试试这个:

javac 版本:javac 11.0.3

$JAVA_HOME,替代品--config java

bash: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java,: No such file or directory

科尔多瓦构建安卓

config file undefined requested for changes not found at /home/Desktop/freetocollect/platforms/android/undefined, ignoring
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=/home/Android/Sdk (DEPRECATED)
Requirements check failed for JDK 8 ('1.8.*')! Detected version: 11.0.3
Check your ANDROID_SDK_ROOT / JAVA_HOME / PATH environment variables.

更新 2

现在我试图以正确的方式做到这一点。

回声 $JAVA_HOME

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

哪个java

/usr/bin/java

java版本

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

替代品--config java

*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)

当我运行科尔多瓦要求时,我得到了这个:

android 的需求检查结果:Java JDK:未安装 无法运行“javac -version”,请确保您已安装 JDK 版本 8。您可以从以下位置获取它: https ://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

您的 JAVA_HOME 无效:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java Android SDK:已安装 true Android 目标:未安装 avdmanager:命令失败,退出代码 1 Gradle:未安装 在 Android Studio 或您的系统上找不到已安装的 Gradle 版本以安装 gradle 包装器。请在您的路径中包含 gradle,或安装 Android Studio

ios 的需求检查结果: Apple macOS: not installed Cordova tooling for iOS requires Apple macOS Some requirements check failed

请帮忙。

更新 20/6

我输入命令:

ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

而且这条路是对的。

然后我输入:

update-alternatives --set java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

然后我无法创建 /var/lib/alternatives/java.new: Permission denied

所以我在代码之前用 sudo 运行它,我认为它有效。没有错误。

当我输入 cordova android build 我得到:

config file undefined requested for changes not found at /home/platforms/android/undefined, ignoring
Failed to run "javac -version", make sure that you have a JDK version 8 installed.
You can get it from the following location:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Your JAVA_HOME is invalid: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

我现在不知道该怎么办。

更新

现在,当我运行科尔多瓦要求时,我已经设法修复了一些错误:

Android target: not installed 
avdmanager: Command failed with exit code 1
Gradle: not installed 
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studio

Requirements check results for ios:
Apple macOS: not installed 
Cordova tooling for iOS requires Apple macOS

现在到下一个错误。

更新:21/6

我已经修复了一些错误,但 Butt 还剩下一些。母猪我现在不知道如何解决它们。

$ cordova build android
config file undefined requested for changes not found at /home/xxxxxxxxx/platforms/android/undefined, ignoring
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=/home/xxxxxxxxx/Android/Sdk (DEPRECATED)

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

/opt/gradle/gradle-5.1/bin/gradle: Command failed with exit code 1

标签: cordovajava-8

解决方案


推荐阅读