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工作室...尝试了可用的帮助,但无法解决问题....
答案 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
工作正常!