当前位置: 首页 > 知识库问答 >
问题:

无法使用Java 9运行SDKManager--List

云飞翮
2023-03-14
    null
$ sdkmanager --list
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.SdkManagerCli.main(SdkManagerCli.java:117)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at 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 more
$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

有没有人知道如何在不回到Java8的情况下修复它?

  • 安装android-sdk失败
    • 这个帖子问了一个类似的问题。然而,该帖子已经关闭,唯一的答案是返回Java8。

共有1个答案

洪国兴
2023-03-14

在这个答案的帮助下,我成功地解决了问题。

我们将在SDKManager中应用一个修复程序。它是一个shell脚本。它位于$Android_SDK/tools/bin,其中$Android_SDK是解压缩Android SDK的位置。

>

  • 在您喜欢的编辑器中打开SDKManager
  • 找到设置default_jvm_opts变量的行。在我的副本中,它在第31行:

    DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'
    
    DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
    
    $ sdkmanager --list
    Installed packages:
      Path    | Version | Description              | Location
      ------- | ------- | -------                  | ------- 
      tools   | 26.0.1  | Android SDK Tools 26.0.1 | tools/  
    
    Available Packages:
      Path                              | Version      | Description                      
      -------                           | -------      | -------                          
      add-ons;addon-g..._apis-google-15 | 3            | Google APIs                      
      add-ons;addon-g..._apis-google-16 | 4            | Google APIs                      
      add-ons;addon-g..._apis-google-17 | 4            | Google APIs                      
      add-ons;addon-g..._apis-google-18 | 4            | Google APIs                      
      add-ons;addon-g..._apis-google-19 | 20           | Google APIs                      
      add-ons;addon-g..._apis-google-21 | 1            | Google APIs                      
      add-ons;addon-g..._apis-google-22 | 1            | Google APIs                      
      add-ons;addon-g..._apis-google-23 | 1            | Google APIs                      
      add-ons;addon-g..._apis-google-24 | 1            | Google APIs
    ...
    
      null

  •  类似资料:
    • 我有一个用TestNG运行的简单代码,但是我不能用Gradle运行,因为它说没有找到主方法,这并不奇怪,因为我使用注释。 但在这种情况下,如果必须使用Gradle,如何运行代码。 请注意,我对Gradle很陌生,对这方面的知识不多。 代码: 上面的代码与TestNG库完美运行。然而不是格拉德尔。 以下是我的Gradle构建设置: Gradle返回没有Main方法。 谢谢你的帮助。

    • 我想用Axis2构建一个客户端(只是一个客户端)。我使用Maven和OSGi(Felix)。我使用Maven成功地安装了它,但是当我使用PAX provision运行它时,出现了一系列错误。这是我在POM中的初始配置(加上AXIOM和WSDL4j的更多依赖项)。 这很好,但当我做pax:provision时 错误:Bundle axis2-transport-local[33]错误启动文件:bun

    • 我正在尝试启动并运行我的第一个 Flutter 应用程序。当我运行时,它说我缺少Android SDK,所以我安装了sdkmanager并运行: 从那里我运行了<code>flutter config--android sdk/opt/android sdk</code> 我收到一个错误,说我缺少cmdline-tools,但是我没有Android Studio,也不想这样做。所以我去了Andro

    • 如果将Xmx设置为967或更高的值,则无法运行java。 C:\documents and settings\salesforce>java-xmx967m-VM初始化时发生版本错误,无法为对象堆预留足够的空间。错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 在执行命令之前,有3GB的ram可用(任务管理器)。 环境: Java 1.7.0_25 32bits Windows se

    • 我遵循了这些指示。这就是JDK和JavaFX的位置: VM参数为: 请帮助识别和整改问题。(我尝试了以下建议的几种方法,但似乎没有任何效果。)