Partager via


Xamarin.Android et Java Development Kit 9 ou version ultérieure

Cet article explique comment résoudre les erreurs JDK (Java Development Kit) 9 ou ultérieures dans Xamarin.Android.

Vue d’ensemble

Xamarin.Android utilise le Kit de développement Java (JDK) pour s’intégrer au SDK Android pour créer des applications Android et exécuter le concepteur Android. Les dernières versions du Kit de développement logiciel (SDK) Android (API 24 et ultérieures) nécessitent JDK 8 (1.8) ou la préversion Microsoft Mobile OpenJDK. Étant donné que les outils du SDK Android disponibles à partir de Google ne sont pas encore compatibles avec JDK 9, Xamarin.Android ne fonctionne pas avec JDK 9 ou version ultérieure.

Notes

Pour cibler l’API Android 31, vous devez installer JDK 11. Pour en savoir plus sur les impacts du JDK 11 sur Visual Studio , cliquez ici.

Erreurs JDK

Si vous essayez de créer un projet Xamarin.Android avec une version du JDK ultérieure à JDK 8, vous obtiendrez une erreur explicite indiquant que cette version du JDK n’est pas prise en charge. Par exemple :

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

Pour résoudre ces erreurs, vous devez installer JDK 8 (1.8) comme expliqué dans Comment faire mettre à jour la version du Kit de développement Java (JDK) ?. Vous pouvez également installer la préversion Microsoft Mobile OpenJDK Le Microsoft Mobile OpenJDK remplacera éventuellement JDK 8 pour le développement Xamarin.Android.

Vérification de la version JDK

Vous pouvez case activée pour voir quelle version de Java vous avez installée en entrant la commande suivante (le répertoire JDK bin doit se trouver dans votrePATH) :

java -version

Si JDK 9 est installé, un message semblable à celui-ci s’affiche :

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)

Si JDK 9 ou version ultérieure est installé, vous devez installer Java JDK 8 (1.8) ou microsoft Mobile OpenJDK Preview. Pour plus d’informations sur l’installation du JDK 8, consultez Comment faire mettre à jour la version du Kit de développement Java (JDK) ?. Pour plus d’informations sur l’installation de Microsoft Mobile OpenJDK, consultez Microsoft Mobile OpenJDK Preview.

Notez que vous n’avez pas besoin de désinstaller une version ultérieure du JDK ; Toutefois, vous devez vous assurer que Xamarin utilise JDK 8 plutôt qu’une version ultérieure du JDK. Dans Visual Studio, cliquez sur Options outils >> Xamarin > Paramètres Android. Si l’emplacement du Kit de développement Java n’est pas défini sur un emplacement JDK 8 (par exemple , C:\Program Files\Java\jdk1.8.0_111), cliquez sur Modifier et définissez-le sur l’emplacement où le JDK 8 est installé. Dans Visual Studio pour Mac, accédez à Préférences > Projets > SDK Emplacements du > Kit de développement logiciel (SDK) Android > Java (JDK) et cliquez sur Parcourir pour mettre à jour ce chemin.

Problèmes connus avec JDK 9

apksigner

Il existe un problème connu avec apksigner et JDK 9 dans lequel le apksigner.bat fichier appelle avec apksigner.jar-Djava.ext.dirs au lieu de -classpath ce que JDK 9 attend. Il est recommandé d’utiliser JDK 8 (1.8). Pour plus d’informations sur l’installation du JDK 8, consultez Comment faire mettre à jour la version du Kit de développement Java (JDK) ?

Si vous avez installé JDK 9, vérifiez que le chemin d’accès suivant n’est pas défini sur votre PATH variable d’environnement, car il pointe toujours vers JDK 9 : C:\ProgramData\Oracle\Java\javapath. Après l’avoir supprimé, java-version une ligne de commande doit afficher JDK 8.