Fehler beim ausführen der sdkmanager --list (Android SDK) mit Java 9
Habe ich heruntergeladen und installiert werden:
- JDK (
jdk-9.0.1_osx-x64_bin.dmg
) von Oracle hier - Android SDK (
sdk-tools-darwin-3859397.zip
), die von Google hier.
Nach der Konfiguration der PATH
variable, ich habe versucht mit sdkmanager
an die Stelle der android
Befehl für die Verwaltung von SDK-Komponenten. Aber nicht, wie hier gezeigt:
$ 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
Hier ist die Java-version:
$ 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)
Weiß jemand wie man es beheben kann, ohne wieder zu Java 8?
Fragen
- Fehler beim installieren des android-sdk
- Diesem Beitrag gefragt, eine ähnliche Frage. Allerdings ist die post geschlossen, und die einzige Antwort, die vermuten lässt, geht zurück zu Java 8.
InformationsquelleAutor der Frage Siu Ching Pong -Asuka Kenji- | 2017-11-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit Hilfe von diese Antwort ich erfolgreich das problem gelöst.
Wir gehen, um ein Update anzuwenden, die in
sdkmanager
. Es ist ein shell-Skript. Es befindet sich auf$android_sdk/tools/bin
wo$android_sdk
ist, wo Sie die entpackte Android-SDK.sdkmanager
in Ihrem Lieblings-editor.Suchen Sie die Zeile, die die
DEFAULT_JVM_OPTS
variable. In meiner Kopie ist es in Zeile 31:Fügen Sie die folgenden Optionen, um die variable:
-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
. Bitte achten Sie auf die Anführungszeichen. In meiner Kopie der Zeile wird zu:Hier ist das Ergebnis:
Hola! Es funktioniert!
-- Edit: 2017-11-07 --
Bitte beachten Sie, dass möglicherweise müssen Sie das Update anwenden, das oben wieder nach laufen
sdkmanager --update
da diesdkmanager
shell-Skript kann geändert werden, wenn sich dietools
- Paket aktualisiert wird.Ähnliche Antworten
InformationsquelleAutor der Antwort Siu Ching Pong -Asuka Kenji-
Können Sie festlegen, sdkmanager Optionen mit SDKMANAGER_OPTS.
Beispiel:
InformationsquelleAutor der Antwort bempa
Ich hatte eine harte Zeit, herauszufinden, diese Lösung einfach nur mit dem arbeiten sdkmanager.bat
InformationsquelleAutor der Antwort victorjpe
Den Android-Tools sind weiterhin nicht kompatibel mit JDK 9 oder 10. Sie müssen zum installieren von JDK 8 oder, wenn Sie mehrere Java-Versionen, stellen Sie sicher, dass die systemweite Java-home Punkte zu JDK 8.
Mehr details hier: Konfigurieren von Unity 2017.4 zum Ziel Android und vermeiden Sie die build-Fehler auf OSX?
InformationsquelleAutor der Antwort German
Für windows, wenn nichts funktioniert, als zu versuchen, diese
Öffnen sdkmanager.bat mit notepad
Suchen Sie folgende Zeile:
%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% dann und
hinzufügen "--add-Module java.xml.bind"
Sollte es so Aussehen %JAVA_EXE%" %DEFAULT_JVM_OPTS% --add-Module java.xml.bind %JAVA_OPTS% %SDKMANAGER_OPTS%
InformationsquelleAutor der Antwort Sagar Khatri
Da Lesen wir auf der vorherigen Kommentare dieser Fehler Auftritt, weil die aktuelle SDK-version ist nicht kompatibel mit den neuesten Java-Versionen: 9 und 10.
So, um es zu lösen, Sie können downgrade Ihren java-version zu Java 8 oder als Problemumgehung können Sie die Exporte die folgende option auf Ihrem terminal:
Linux:
Windows:
Diese zu lösen, wird dieser Fehler für die
sdkmanager
Zu machen und dauerhaft gespeichert, die Sie exportieren können die JAVA_OPTS-in Ihr Profil-Datei auf linux (
.zshrc
.bashrc
usw.) oder fügen Sie die Umgebungsvariable dauerhaft auf Windows.InformationsquelleAutor der Antwort coderade