Udostępnij za pośrednictwem


Xamarin.Android i Java Development Kit 9 lub nowszy

W tym artykule wyjaśniono, jak rozwiązać problemy z błędami zestawu Java Development Kit (JDK) 9 lub nowszego na platformie Xamarin.Android.

Omówienie

Platforma Xamarin.Android używa zestawu Java Development Kit (JDK) do integracji z zestawem Android SDK na potrzeby tworzenia aplikacji systemu Android i uruchamiania projektanta systemu Android. Najnowsze wersje zestawu Android SDK (interfejs API 24 i nowsze) wymagają zestawu JDK 8 (1.8) lub pakietu Microsoft Mobile OpenJDK Preview. Ponieważ narzędzia zestawu Android SDK dostępne w usłudze Google nie są jeszcze zgodne z zestawem JDK 9, platforma Xamarin.Android nie działa z zestawem JDK 9 lub nowszym.

Uwaga

Aby kierować do interfejsu API systemu Android 31, należy zainstalować zestaw JDK 11. Dowiedz się więcej na temat wpływu zestawu JDK 11 na program Visual Studio tutaj.

Błędy zestawu JDK

Jeśli spróbujesz skompilować projekt platformy Xamarin.Android z wersją zestawu JDK późniejszą niż JDK 8, zostanie wyświetlony jawny błąd wskazujący, że ta wersja zestawu JDK nie jest obsługiwana. Na przykład:

Building with JDK Version `9.0.4` is not supported. Please install JDK version `1.8.0`. See https://aka.ms/xamarin/jdk9-errors

Aby rozwiązać te błędy, musisz zainstalować zestaw JDK 8 (1.8), jak wyjaśniono w Jak mogę zaktualizować wersję zestawu Java Development Kit (JDK)?. Alternatywnie możesz zainstalować zestaw Microsoft Mobile OpenJDK (wersja zapoznawcza ) Zestaw Microsoft Mobile OpenJDK ostatecznie zastąpi zestaw JDK 8 na potrzeby programowania na platformie Xamarin.Android.

Sprawdzanie wersji zestawu JDK

Możesz sprawdzić, która wersja języka Java została zainstalowana, wprowadzając następujące polecenie (katalog JDK bin musi znajdować się w katalogu PATH):

java -version

Jeśli zainstalowano zestaw JDK 9, zostanie wyświetlony komunikat podobny do następującego:

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)

Jeśli zainstalowano zestaw JDK 9 lub nowszy, musisz zainstalować zestaw Java JDK 8 (1.8) lub microsoft Mobile OpenJDK (wersja zapoznawcza). Aby uzyskać informacje o sposobie instalowania zestawu JDK 8, zobacz Jak mogę zaktualizować wersję zestawu Java Development Kit (JDK)?. Aby uzyskać informacje o sposobie instalowania zestawu Microsoft Mobile OpenJDK, zobacz Microsoft Mobile OpenJDK Preview.

Należy pamiętać, że nie trzeba odinstalować nowszej wersji zestawu JDK; Należy jednak upewnić się, że platforma Xamarin korzysta z zestawu JDK 8, a nie nowszej wersji zestawu JDK. W programie Visual Studio kliknij pozycję Narzędzia > Opcje > Xamarin > Android Ustawienia. Jeśli lokalizacja zestawu Java Development Kit nie jest ustawiona na lokalizację zestawu JDK 8 (na przykład C:\Program Files\Java\jdk1.8.0_111), kliknij przycisk Zmień i ustaw go na lokalizację, w której zainstalowano zestaw JDK 8. W Visual Studio dla komputerów Mac przejdź do obszaru Lokalizacje zestawu SDK projektów > preferencji > Android Java SDK >> (JDK) i kliknij przycisk Przeglądaj, aby zaktualizować tę ścieżkę.

Znane problemy z zestawem JDK 9

apksigner

Istnieje znany problem z plikiem apksigner i zestawem JDK 9, w którym apksigner.bat plik wywołuje apksigner.jar-Djava.ext.dirs element zamiast -classpath tego, czego oczekuje zestaw JDK 9. Zaleca się użycie zestawu JDK 8 (1.8). Aby uzyskać informacje o sposobie instalowania zestawu JDK 8, zobacz Jak mogę zaktualizować wersję zestawu Java Development Kit (JDK)?

Jeśli zainstalowano zestaw JDK 9, upewnij się, że następująca ścieżka nie jest ustawiona na PATH zmiennej środowiskowej, ponieważ nadal będzie wskazywać zestaw JDK 9: C:\ProgramData\Oracle\Java\javapath. Po jego java-version usunięciu w wierszu polecenia powinien być wyświetlany zestaw JDK 8.