错误检查ANDROID_SDK_ROOT / JAVA_HOME / PATH环境变量

时间:2019-07-22 04:24:00

标签: path sdk ionic4 java-home

要生成apk运行

 ionic cordova build android

经过一些处理后会产生错误。

我设置了用户变量

ANDROID_HOME = C:\Users\Zohab Ud Din\AppData\Local\Android\Sdk\build-tools\29.0.1

JAVA_HOME = C:\Program Files\Java\jdk-12.0.2

PATH = ...;C:\Users\Zohab Ud Din\AppData\Local\Android\Sdk\platform-tools

我没有在系统变量中添加任何内容

我的错误是

Checking Java JDK and Android SDK versions
Requirements check failed for JDK 8 ('1.8.*')! Detected version: 12.0.2
Check your ANDROID_SDK_ROOT / JAVA_HOME / PATH environment variables.
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=C:\Users\Zohab Ud Din\AppData\Local\Android\Sdk (DEPRECATED)
[ERROR] An error occurred while running subprocess Cordova.



 cordova.cmd build android exited with exit code 1.

Re-running this command with the --verbose flag may provide more information.

4 个答案:

答案 0 :(得分:0)

安装JDK 8与其不匹配,请通过链接下载它

  

JDK 8('1.8。*')的需求检查失败!检测版本:   12.0.2

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

答案 1 :(得分:0)

错误已解决,但生成了apk,但我遇到了另一个错误

VS Code终端中的

PowerShell没有运行任何离子命令

PS E:\Ionic\VU_Solutions> ionic s
ionic : The term 'ionic' is not recognized as the name of a cmdlet, function, script 
file, or operable program. Check the spelling of the name, or if a path was included,      
verify that the path is correct and try again.
At line:1 char:1
+ ionic s
+ ~~~~~
    + FullyQualifiedErrorId : CommandNotFoundException

答案 2 :(得分:0)

转到PC属性->环境变量->为您的用户名使用变量

添加USED变量FOR Your_User_name->添加“新建” 变量:JAVA_HOME 值:C:\ Program Files \ Java \ jdk1.8.0_221

变量:ANDROID_SDK_ROOT 值:C:\ Users \您的用户名\ AppData \ Local \ Android \ Sdk

添加以下路径环境变量->路径 C:\ Users \您的用户名\ AppData \ Local \ Android \ Sdk C:\ Users \您的用户名\ AppData \ Local \ Android \ Sdk \ platforms C:\ Users \您的用户名\ AppData \ Local \ Android \ Sdk \ platform-tools C:\ Program Files \ Java \ jdk1.8.0_221 C:\ Gradle \ gradle-6.3 \ bin

答案 3 :(得分:0)

我遇到了同样的问题,这是我的解决方法。

请,我的配置在ionic1和OSX上,所以也许您需要进行调整(Windows或ubuntu ..)

要在您的终端中写的指示

Result of your terminal

JDK 8('1.8。*')的需求检查失败!检测到的版本:12.0.2

首先检查您的JAVA版本

java -version

如果您有这样的事情,那不是很好

java version "14" 2020-03-17
Java(TM) SE Runtime Environment (build 14+36-1461)
Java HotSpot(TM) 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)

第二个列表您的Java版本

/ usr / libexec / java_home -V

也许您有类似的东西(如果您没有第二台虚拟机,请安装它:https://www.java.com/en/download/

Matching Java Virtual Machines (2):
    14, x86_64: "Java SE 14"    /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
    1.8.0_144, x86_64:  "Java SE 8"     /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

第三次切换Java版本

首先尝试用您的版本替换“ 1.8.0_144”

/ usr / libexec / java_home -v 1.8.0_144

如果不能像我一样工作,请使用第二种解决方案来修改bash_profile文件(环境变量)

打开.bash_profile

添加此行(适应您的Java版本)

# SWITCH TO JAVA VERSION 8
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

源〜/ .bash_profile

现在您不再应该出现此错误,可以构建

进行此修改后,如果您有此消息,并且正在构建android,

Subproject Path: app
/Users/quentin/Documents/VOLPY/APPS/app-mobile/platforms/android/gradlew: Command failed with exit code EACCES

请尝试此操作(您需要在项目文件夹中)

sudo chmod 755平台/ android / gradlew

ANDROID_SDK_ROOT =未定义(推荐设置)ANDROID_HOME = C:\ Users \ Zohab Ud Din \ AppData \ Local \ Android \ Sdk(已弃用)

您需要添加以下缺少的变量环境: ANDROID_SDK_ROOT (如果不使用osx,请进行调整,寻找“环境变量”)

打开.bash_profile

复制过去的 ANDROID_HOME 行,并替换为 ANDROID_SDK_ROOT ,并用#条ANDROID_HOME行注释

# Set Android_HOME
export ANDROID_SDK_ROOT=~/Library/Android/sdk/
#export ANDROID_HOME=~/Library/Android/sdk/
  
# Add the Android SDK to the ANDROID_HOME variable
#export PATH=$ANDROID_HOME/platform-tools:$PATH
#export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH
export PATH=$ANDROID_SDK_ROOT/tools:$PATH

源〜/ .bash_profile 设置ANDROID_SDK_ROOT =〜/ Library / Android / sdk /

  • 重新启动计算机

现在,如果您进行构建,则应该收到这样的消息

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=/Users/quentin/Library/Android/sdk/ (recommended setting)
ANDROID_HOME=/Users/quentin/Library/Android/sdk/ (DEPRECATED)
...
BUILD SUCCESSFUL

现在,我希望您一切都好:)