ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

无法使用Java 9运行sdkmanager –list(Android SDK)

2019-09-16 21:03:28  阅读:316  来源: 互联网

标签:android java android-sdk-tools java-9 android-sdk-manager


我下载并安装了:

> Oracle here中的JDK(jdk-9.0.1_osx-x64_bin.dmg)
>来自Google here的Android SDK(sdk-tools-darwin-3859397.zip).

在配置PATH变量之后,我尝试运行sdkmanager,它取代了用于管理SDK组件的android命令.但是,它失败了,如下所示:

$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版本:

$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)

有没有人知道如何修复它而不回到Java 8?

相关问题

> Failed to install android-sdk

>这篇文章提出了类似的问题.但是,帖子已经关闭,唯一的答案就是回到Java 8.

解决方法:

this answer的帮助下,我成功地解决了这个问题.

我们将在sdkmanager中应用修复程序.这是一个shell脚本.它位于$android_sdk / tools / bin,其中$android_sdk是您解压Android SDK的地方.

>在您喜欢的编辑器中打开sdkmanager.
>找到设置DEFAULT_JVM_OPTS变量的行.在我的副本中,它位于第31行:

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'

>将以下选项附加到变量:-XX:IgnoreUnrecognizedVMOptions –add-modules java.se.ee.请注意报价.在我的副本中,该行变为:

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
...

你好!有用!

– 编辑:2017-11-07 –

请注意,在运行sdkmanager –update之后,您可能需要再次应用上面的修补程序,因为如果更新了工具包,则可能会覆盖sdkmanager shell脚本.

相关答案

> https://stackoverflow.com/a/43574427/142239

> @ andy-guibert指出了实现这项工作的必要选择.他还简要介绍了那些神秘的选择.

标签:android,java,android-sdk-tools,java-9,android-sdk-manager
来源: https://codeday.me/bug/20190916/1808009.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有