Java 使用andoird“;sdkmanager";使用OpenJDK 11
我想将AndroidJava 使用andoird“;sdkmanager";使用OpenJDK 11,java,android,sdk,openjdk-11,Java,Android,Sdk,Openjdk 11,我想将Androidsdkmanager与OpenJDK一起使用,而不是Oracle JDK,我已经在ubuntu 18.04中安装了包default jre。但是当我运行sdkamanger时,我得到以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.
sdkmanager
与OpenJDK一起使用,而不是Oracle JDK,我已经在ubuntu 18.04中安装了包default jre
。但是当我运行sdkamanger
时,我得到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 5 more
线程“main”java.lang.NoClassDefFoundError中的异常:javax/xml/bind/annotation/XmlSchema
位于com.android.repository.api.SchemaModule$SchemaModule版本。(SchemaModule.java:156)
位于com.android.repository.api.SchemaModule(SchemaModule.java:75)
位于com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java:81)
位于com.android.sdklib.tool.sdkmanager.sdkmanagerli.main(sdkmanagerli.java:73)
位于com.android.sdklib.tool.sdkmanager.sdkmanagerli.main(sdkmanagerli.java:48)
原因:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema
位于java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
位于java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 还有5个
还有一个类似的问题,有人建议添加选项-XX:+IgnoreUnrecognizedVMOptions--addmodules java.se.ee
到文件sdkmanager
中的变量DEFAULT\u JVM\u OPTS
。但是由于我想使用OpenJDK,我没有模块java.se.ee
<>我几乎没有java的经验,我只想安装Android NDK来与QT和C++一起使用,而不是java或KoTLIN。
有什么想法吗?所以我遇到了同样的错误。
但答案解决了我的问题。
在“Android/tools/bin”中下载所有提到的文件。然后编辑sdkmanager和avdmanager脚本
添加以下行,不要移除其他罐子:
CLASSPATH=$APP_HOME/bin/jaxb_lib/activation.jar:$APP_HOME/bin/jaxb_lib/jaxb-impl.jar:$APP_HOME/bin/jaxb_lib/jaxb-xjc.jar:$APP_HOME/bin/jaxb_lib/jaxb-core.jar:$APP_HOME/bin/jaxb_lib/jaxb-jxc.jar:$APP_HOME/bin/jaxb_lib/jaxb-api.jar:<etc etc...DO NOT REMOVE THE OTHER JARS!...>
CLASSPATH=$APP_HOME/bin/jaxb_lib/activation.jar:$APP_HOME/bin/jaxb_lib/jaxb impl.jar:$APP_HOME/bin/jaxb_lib/jaxb core.jar:$APP_HOME/bin/jaxb_lib/jaxb jxc.jar:$APP_HOME/bin/jaxb_lib/jaxb-api.jar:
您下载了这些文件吗?