Condividi tramite


Xamarin.Android e Java Development Kit 9 o versione successiva

Questo articolo illustra come risolvere gli errori di Java Development Kit (JDK) 9 o versioni successive in Xamarin.Android.

Panoramica

Xamarin.Android usa Java Development Kit (JDK) per l'integrazione con Android SDK per la creazione di app Android e l'esecuzione della finestra di progettazione Android. Le versioni più recenti di Android SDK (API 24 e successive) richiedono JDK 8 (1.8) o Microsoft Mobile OpenJDK Preview. Poiché gli strumenti android SDK disponibili da Google non sono ancora compatibili con JDK 9, Xamarin.Android non funziona con JDK 9 o versione successiva.

Nota

Per usare l'API Android 31, è necessario installare JDK 11. Altre informazioni sull'impatto di JDK 11 su Visual Studio sono disponibili qui.

Errori di JDK

Se si tenta di compilare un progetto Xamarin.Android con una versione di JDK successiva a JDK 8, verrà visualizzato un errore esplicito che indica che questa versione di JDK non è supportata. Ad esempio:

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

Per risolvere questi errori, è necessario installare JDK 8 (1.8) come illustrato in Ricerca per categorie aggiornare la versione di Java Development Kit (JDK).) In alternativa, è possibile installare Microsoft Mobile OpenJDK Preview . Microsoft Mobile OpenJDK sostituirà infine JDK 8 per lo sviluppo di Xamarin.Android.

Controllo della versione di JDK

È possibile verificare quale versione di Java è stata installata immettendo il comando seguente (la directory JDK bin deve trovarsi nell'oggetto PATH):

java -version

Se JDK 9 è installato, verrà visualizzato un messaggio simile al seguente:

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)

Se JDK 9 o versione successiva è installato, è necessario installare Java JDK 8 (1.8) o Microsoft Mobile OpenJDK Preview. Per informazioni su come installare JDK 8, vedere Ricerca per categorie aggiornare la versione di Java Development Kit (JDK).) Per informazioni su come installare Microsoft Mobile OpenJDK, vedere Microsoft Mobile OpenJDK Preview.

Si noti che non è necessario disinstallare una versione successiva di JDK; È tuttavia necessario assicurarsi che Xamarin usi JDK 8 anziché una versione JDK successiva. In Visual Studio fare clic su Strumenti > Opzioni > Xamarin > Android Impostazioni. Se Java Development Kit Location non è impostato su un percorso JDK 8 (ad esempio C:\Programmi\Java\jdk1.8.0_111), fare clic su Cambia e impostarlo sul percorso in cui è installato JDK 8. In Visual Studio per Mac passare a Preferenze Progetti Percorsi SDK Android > Java SDK (JDK) e fare clic su Sfoglia per aggiornare questo percorso.>>>

Problemi noti relativi a JDK 9

apksigner

C'è un problema noto con apksigner e JDK 9 in cui il apksigner.bat file richiama apksigner.jar con -Djava.ext.dirs invece di -classpath cui JDK 9 si aspetta. È consigliabile usare JDK 8 (1.8). Per informazioni su come installare JDK 8, vedere Ricerca per categorie aggiornare la versione di Java Development Kit (JDK) ?

Se JDK 9 è stato installato, assicurarsi che il percorso seguente non sia impostato nella PATH variabile di ambiente perché punterà comunque a JDK 9: C:\ProgramData\Oracle\Java\javapath. Dopo averlo rimosso, java-version nella riga di comando dovrebbe essere visualizzato JDK 8.