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.