Sdílet prostřednictvím


Xamarin.Android a Java Development Kit 9 nebo novější

Tento článek vysvětluje, jak vyřešit chyby sady Java Development Kit (JDK) 9 nebo novější v Xamarin.Androidu.

Přehled

Xamarin.Android používá sadu Java Development Kit (JDK) k integraci se sadou Android SDK pro sestavování aplikací pro Android a spouštění Návrháře pro Android. Nejnovější verze sady Android SDK (API 24 a vyšší) vyžadují sadu JDK 8 (1.8) nebo Microsoft Mobile OpenJDK Preview. Vzhledem k tomu, že nástroje sady Android SDK dostupné od Googlu ještě nejsou kompatibilní s JDK 9, Xamarin.Android nefunguje s JDK 9 nebo novějším.

Poznámka:

Pokud chcete cílit na rozhraní Android API 31, musíte nainstalovat sadu JDK 11. Další informace o dopadech sady JDK 11 na Visual Studio najdete tady.

Chyby sady JDK

Pokud se pokusíte sestavit projekt Xamarin.Android s verzí sady JDK novější než JDK 8, zobrazí se explicitní chyba označující, že tato verze sady JDK není podporovaná. Příklad:

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

Pokud chcete tyto chyby vyřešit, musíte nainstalovat sadu JDK 8 (1.8), jak je vysvětleno v Návody aktualizaci verze sady Java Development Kit (JDK)?. Alternativně můžete nainstalovat Sadu Microsoft Mobile OpenJDK Preview . Microsoft Mobile OpenJDK nakonec nahradí sadu JDK 8 pro vývoj pro Xamarin.Android.

Kontrola verze sady JDK

Pokud chcete zjistit, jakou verzi Javy máte nainstalovanou, můžete zkontrolovat zadáním následujícího příkazu (adresář JDK bin musí být ve vašem PATHadresáři):

java -version

Pokud je nainstalovaná sada JDK 9, zobrazí se zpráva podobná této:

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)

Pokud je nainstalovaná sada JDK 9 nebo novější, musíte nainstalovat Sadu Java JDK 8 (1.8) nebo Microsoft Mobile OpenJDK Preview. Informace o instalaci sady JDK 8 najdete v tématu Návody aktualizace verze sady Java Development Kit (JDK)?. Informace o instalaci sady Microsoft Mobile OpenJDK naleznete v tématu Microsoft Mobile OpenJDK Preview.

Mějte na paměti, že nemusíte odinstalovat novější verzi sady JDK; Musíte ale zajistit, aby Xamarin používal JDK 8 místo novější verze sady JDK. V sadě Visual Studio klikněte na >nástroje Možnosti > Xamarin > Android Nastavení. Pokud umístění sady Java Development Kit není nastaveno na umístění JDK 8 (například C:\Program Files\Java\jdk1.8.0_111), klikněte na tlačítko Změnit a nastavte ho na umístění, kde je nainstalovaná sada JDK 8. V Visual Studio pro Mac přejděte do části Předvolby > Umístění >> sady SDK sady SDK Android > Java SDK (JDK) a kliknutím na Procházet aktualizujte tuto cestu.

Známé problémy s JDK 9

apksigner

Existuje známý problém s apksigner a JDK 9, ve kterém apksigner.bat soubor vyvolá místo apksigner.jar-Djava.ext.dirs-classpath toho, který JDK 9 očekává. Doporučuje se použít sadu JDK 8 (1.8). Informace o instalaci sady JDK 8 najdete v tématu Návody aktualizace verze sady Java Development Kit (JDK)?

Pokud jste nainstalovali sadu JDK 9, ujistěte se, že pro proměnnou PATH prostředí není nastavená následující cesta, protože bude stále odkazovat na sadu JDK 9: C:\ProgramData\Oracle\Java\javapath. Po odebrání java-version by se na příkazovém řádku měla zobrazit sada JDK 8.