cordova - 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
解决方案
推荐阅读
- apache - 为什么说我的 Apache 服务器的证书链不完整?
- sql - 如何定义SQL数据库表并形成关系?
- arrays - laravel 未定义的数组键
- java - 如何防止用户退出活动?
- django - Django中的嵌套类别和模板中的用法
- java - jmeter如何控制用户、请求和吞吐量?
- python - 将数据的 3D 张量从极坐标转换为笛卡尔坐标
- html - 未找到:/在 pythonanywhere 上部署项目时出错
- computer-science - 不是函数的值的术语是什么?
- java - 在构造函数中使用枚举映射时出现错误“类 ResourceDto 中的构造函数 ResourceDto 不能应用于给定类型”