Fel*_*sén 3 android java android-studio
我有 ubuntu 16.04 并试图这样运行avdmanager:
cd ~/Android/Sdk/tools/bin/ 进而 sudo ./avdmanager list avd
我收到错误:
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.AvdManagerCli.run(AvdManagerCli.java:213)
at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
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
Run Code Online (Sandbox Code Playgroud)
我可以通过 android studios 运行模拟器,但我想从命令行运行。
我也在使用 java 9:
java 9.0.4
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我在 github 上的某个地方读到这可能是因为我使用的是 java 9 而应该使用 java 8(我如何降级)?
我还能怎么解决这个问题?谢谢!
小智 5
在 Android Studio 中,您可以使用cmd + ;Mac 或Ctrl + Alt + Shift + SWindows/Linux 来拉出项目结构对话框。在那里,您可以设置 JDK 位置以及 Android SDK 位置。
将此添加到您的 .bashrc 或 .zshrc 配置中,以便 JAVA_HOME 变量指向 Android 使用的 Java 版本。
小智 5
您需要使用 OpenJDK 8
删除所有以前的 JDK 版本:
sudo apt-get autoremove openjdk*
然后安装JDK 8:
sudo apt-get install openjdk-8-jdk
小智 5
请注意,Google 的 cmdline-tools 包包含 avdmanager 的替换版本,可以在 Java 9 及更高版本下正常运行。cmdline-tools 应安装在 ~/Android/Sdk/cmdline-tools/latest 中。请改用该路径中的 avdmanager。
| 归档时间: |
|
| 查看次数: |
8986 次 |
| 最近记录: |