avdmanager выдает исключение при попытке выполнить его от удара

У меня есть человечность 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

Я могу выполнить эмулятор через студии андроида, но я хочу сделать это из командной строки.

Я также использую 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)

Я читал где-нибудь на GitHub, которым это может быть то, потому что я использую java 9 и вместо этого должен использовать java 8 (как я понижаю)?

Как еще я могу решить это?Спасибо!

0
задан 17 April 2018 в 01:00

3 ответа

Я получил его на работу! Я просто понизил Java. Ссылка на эту тему: https://github.com/meteor/meteor/issues/9510 , которая ссылается на: https://stackoverflow.com/questions/43574426/how-to- разрешить Java-языки-NoClassDefFoundError-javax-XML-связывания-jaxbexception-в-J / 43574427 # 43574427

0
ответ дан 30 October 2019 в 02:06

В Studio Android можно использовать cmd + ; для Mac или Ctrl + Alt + Shift + S, чтобы Windows/Linux потянул диалоговое окно Структуры Проекта. Там, можно установить местоположение JDK, а также местоположение SDK Android.

Добавляют это к Вашему .bashrc или конфигурации .zshrc так, чтобы переменная JAVA_HOME указала на версию Java, используемую Android.

1
ответ дан 30 October 2019 в 02:06

Вам нужно использовать OpenJDK 8

Удалите все предыдущие версии JDK:

sudo apt-get autoremove openjdk*

Затем установите JDK 8 :

sudo apt-get install openjdk-8-jdk

5
ответ дан 9 January 2020 в 10:42

Другие вопросы по тегам:

Похожие вопросы: