Android SDK for Cordova 7.0.1中需要安装哪些要求

时间:2017-09-25 10:47:15

标签: android macos cordova ionic-framework

Cordova要求提供以下输出:

android的要求检查结果:

Java JDK:已安装

Android SDK:已安装true

Android目标:未安装 avdmanager:命令失败,退出代码为1 错误输出: 线程“main”中的异常java.lang.NoClassDefFoundError:javax / xml / bind / annotation / XmlSchema     在com.android.repository.api.SchemaModule $ SchemaModuleVersion。(SchemaModule.java:156)     在com.android.repository.api.SchemaModule。(SchemaModule.java:75)     在com.android.sdklib.repository.AndroidSdkHandler。(AndroidSdkHandler.java:81)     在com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213)     在com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200) 引起:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema     在java.base / jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)     at java.base / jdk.internal.loader.ClassLoaders $ AppClassLoader.loadClass(ClassLoaders.java:185)     at java.base / java.lang.ClassLoader.loadClass(ClassLoader.java:496)     ......还有5个

Gradle:已安装/ Applications / Android Studio.app/Contents/gradle/gradle-3.2/bin/gradle

错误:某些要求检查失败

离子信息的输出是:

cli包:(/ usr / local / lib / node_modules)

@ionic/cli-utils  : 1.12.0
ionic (Ionic CLI) : 3.12.0

全球套餐:

cordova (Cordova CLI) : 7.0.1 

本地包裹:

@ionic/app-scripts : 2.1.4
Cordova Platforms  : android 6.2.3
Ionic Framework    : ionic-angular 3.6.1

系统:

Node  : v6.11.3
npm   : 3.10.10 
OS    : macOS Sierra
Xcode : Xcode 9.0 Build version 9A235 

其他:

backend : pro

我安装了Android工作室,安装了Android API 26和25的Build工具,以及用于API 26和25的android SDk。

正确使用Android工作室...尝试了可用的帮助,但无法解决问题....

3 个答案:

答案 0 :(得分:3)

我的Mac上有jdk 9

在运行java -version

时得到以下输出

java版“9”

Java(TM)SE运行时环境(版本9 + 181)

Java HotSpot(TM)64位服务器VM(内置9 + 181,混合模式)

但在运行离子cordova构建android 输出是

 Running app-scripts build: --platform android --target cordova

[18:30:48]  build dev started ... 
[18:30:48]  clean started ... 
[18:30:48]  clean finished in 2 ms 
[18:30:48]  copy started ... 
[18:30:48]  transpile started ... 
[18:30:52]  transpile finished in 3.55 s 
[18:30:52]  preprocess started ... 
[18:30:52]  deeplinks started ... 
[18:30:52]  deeplinks finished in 11 ms 
[18:30:52]  preprocess finished in 12 ms 
[18:30:52]  webpack started ... 
[18:30:52]  copy finished in 3.80 s 
[18:31:01]  webpack finished in 9.22 s 
[18:31:01]  sass started ... 
[18:31:03]  sass finished in 1.60 s 
[18:31:03]  postprocess started ... 
[18:31:03]  removed unused font files 
[18:31:03]  postprocess finished in 14 ms 
[18:31:03]  lint started ... 
[18:31:03]  build dev finished in 14.60 s 
> ionic cordova prepare android
> cordova prepare android

> cordova build android
✖ Running command - failed!
[ERROR] An error occurred while running cordova build android (exit code 1):


        ANDROID_HOME=/Users/behgals/Library/Android/sdk
        JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
        Error: Requirements check failed for JDK 1.8 or greater

搜索了几个小时后 - 最后决定删除idk 9并切换到旧版本

删除idk9使用以下命令

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-9.jdk/

并安装了idk8最后一个版本

安装后一切正常并运行命令     科尔多瓦要求: - $

cordova requirements

android的要求检查结果:

Java JDK: installed 1.8.0

Android SDK: installed true

Android target: installed android-26,android-25

Gradle: installed /Applications/Android 
Studio.app/Contents/gradle/gradle-3.2/bin/gradle

答案 1 :(得分:0)

对我来说,我的Java版本是11,需要版本8,所以我用以下命令更改了Linux中的默认版本:

sudo update-alternatives --config java

然后在〜/ .bashrc(ubuntu)上设置JAVA_HOME和JRE_HOME环境变量:

#JAVA HOME
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH

答案 2 :(得分:-1)

第一

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/

并安装

jdk-8u171-macosx-x64.dmg

工作正常!