Xamarin.Android und Java Development Kit 9 oder höher
In diesem Artikel wird erläutert, wie Sie Fehler mit Java Development Kit (JDK) 9 oder höher in Xamarin.Android beheben.
Übersicht
Xamarin.Android verwendet das Java Development Kit (JDK) für die Android SDK-Integration zum Erstellen von Android-Apps und zum Ausführen von Android Designer. Die neuesten Versionen des Android SDK (API 24 und höher) erfordern JDK 8 (1.8) oder die Vorschauversion von Microsoft Mobile OpenJDK. Da die von Google verfügbaren Android SDK-Tools noch nicht mit JDK 9 kompatibel sind, funktioniert Xamarin.Android nicht mit JDK 9 oder höher.
Hinweis
Sie müssen JDK 11 verwenden, um die Android-API 31 als Ziel zu verwenden. Weitere Informationen zu den Auswirkungen von JDK 11 auf Visual Studio finden Sie hier.
JDK-Fehler
Wenn Sie versuchen, ein Xamarin.Android-Projekt mit einer Version des JDK höher als JDK 8 zu erstellen, wird ein expliziter Fehler mit dem Hinweis anzeigt, dass diese JDK-Version nicht unterstützt wird. Beispiel:
Building with JDK Version `9.0.4` is not supported. Please install JDK version `1.8.0`. See https://aka.ms/xamarin/jdk9-errors
Um diese Fehler zu beheben, müssen Sie JDK 8 (1.8), wie in Wie aktualisiere ich die Java Development Kit-Version (JDK)? erläutert, installieren. Alternativ können Sie die Vorschauversion von Microsoft Mobile OpenJDK installieren. Microsoft Mobile OpenJDK wird irgendwann JDK 8 für die Xamarin.Android-Entwicklung ersetzen.
Überprüfen der JDK-Version
Sie können feststellen, welche Version von Java installiert ist, indem Sie den folgenden Befehl eingeben (das JDK-bin
Verzeichnis muss sich in Ihrem PATH
befinden):
java -version
Wenn JDK 9 installiert ist, wird eine Meldung wie die folgende angezeigt:
java version "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)
Wenn JDK 9 oder höher installiert ist, müssen Sie Java JDK 8 (1.8) oder die Vorschauversion von Microsoft Mobile OpenJDK installieren. Informationen zum Installieren von JDK 8 finden Sie unter Wie aktualisiere ich die Java Development Kit-Version (JDK)?. Informationen zum Installieren von Microsoft Mobile OpenJDK finden Sie unter Microsoft Mobile OpenJDK (Vorschauversion).
Beachten Sie, dass Sie eine höhere Version des JDK nicht deinstallieren müssen. Sie müssen jedoch sicherstellen, dass Xamarin JDK 8 und keine höhere JDK-Version verwendet. Klicken Sie in Visual Studio auf Extras > Optionen > Xamarin > Android-Einstellungen. Wenn der Speicherort des Java Development Kit nicht auf einen JDK 8-Speicherort festgelegt ist (z. B. C:\Programme\Java\jdk1.8.0_111), klicken Sie auf Ändern , und legen Sie ihn auf den Speicherort fest, an dem JDK 8 installiert ist. Navigieren Sie in Visual Studio für Mac zu Einstellungen > Projekte > SDK-Standorte > Android > Java SDK (JDK), und klicken Sie auf Durchsuchen, um diesen Pfad zu aktualisieren.
Bekannte Probleme mit JDK 9
apksigner
Es gibt ein bekanntes Problem mit apksigner und JDK 9, bei dem die apksigner.bat
-Datei apksigner.jar
mit -Djava.ext.dirs
und nicht wie von JDK 9 erwartet mit -classpath
aufruft. Es wird empfohlen, JDK 8 (1.8) zu verwenden. Informationen zum Installieren von JDK 8 finden Sie unter Wie aktualisiere ich die Java Development Kit-Version (JDK)?.
Wenn Sie JDK 9 installiert haben, darf der folgende Pfad in der PATH
-Umgebungsvariable nicht festgelegt sein, weil er weiterhin auf JDK 9 verweist: C:\ProgramData\Oracle\Java\javapath
. Nachdem Sie ihn entfernt haben, sollte java-version
in der Befehlszeile „JDK 8“ anzeigen.