Xamarin.Android dan Java Development Kit 9 atau yang lebih baru

Artikel ini menjelaskan cara mengatasi kesalahan Java Development Kit (JDK) 9 atau yang lebih baru di Xamarin.Android.

Gambaran Umum

Xamarin.Android menggunakan Java Development Kit (JDK) untuk berintegrasi dengan Android SDK untuk membangun aplikasi Android dan menjalankan perancang Android. Versi terbaru Android SDK (API 24 dan yang lebih tinggi) memerlukan JDK 8 (1.8) atau Pratinjau OpenJDK Microsoft Mobile. Karena alat Android SDK yang tersedia dari Google belum kompatibel dengan JDK 9, Xamarin.Android tidak berfungsi dengan JDK 9 atau yang lebih baru.

Catatan

Untuk menargetkan Android API 31, Anda perlu menginstal JDK 11. Pelajari selengkapnya tentang dampak JDK 11 ke Visual Studio di sini.

Kesalahan JDK

Jika Anda mencoba membuat proyek Xamarin.Android dengan versi JDK lebih baru dari JDK 8, Anda akan mendapatkan kesalahan eksplisit yang menunjukkan bahwa versi JDK ini tidak didukung. Contohnya:

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

Untuk mengatasi kesalahan ini, Anda harus menginstal JDK 8 (1.8) seperti yang dijelaskan dalam Bagaimana cara memperbarui versi Java Development Kit (JDK)?. Secara bergantian, Anda dapat menginstal Pratinjau Microsoft Mobile OpenJDK, Microsoft Mobile OpenJDK pada akhirnya akan menggantikan JDK 8 untuk pengembangan Xamarin.Android.

Memeriksa Versi JDK

Anda dapat memeriksa untuk melihat versi Java mana yang telah Anda instal dengan memasukkan perintah berikut (direktori JDK bin harus ada di Anda PATH):

java -version

Jika JDK 9 terinstal, Anda akan melihat pesan seperti berikut:

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)

Jika JDK 9 atau yang lebih baru diinstal, Anda harus menginstal Java JDK 8 (1.8) atau Pratinjau Microsoft Mobile OpenJDK. Untuk informasi tentang cara menginstal JDK 8, lihat Bagaimana cara memperbarui versi Java Development Kit (JDK)?. Untuk informasi tentang cara menginstal Microsoft Mobile OpenJDK, lihat Pratinjau Microsoft Mobile OpenJDK.

Perhatikan bahwa Anda tidak perlu menghapus instalan versi JDK yang lebih baru; namun, Anda harus memastikan bahwa Xamarin menggunakan JDK 8 daripada versi JDK yang lebih baru. Di Visual Studio, klik Opsi > Alat > Xamarin > Android Pengaturan. Jika Lokasi Kit Pengembangan Java tidak diatur ke lokasi JDK 8 (seperti C:\Program Files\Java\jdk1.8.0_111), klik Ubah dan atur ke lokasi tempat JDK 8 diinstal. Di Visual Studio untuk Mac, buka Preferensi > Proyek > SDK Lokasi > Android > Java SDK (JDK) dan klik Telusuri untuk memperbarui jalur ini.

Masalah umum dengan JDK 9

apksigner

Ada masalah yang diketahui dengan apksigner dan JDK 9 di mana apksigner.bat file memanggil apksigner.jar dengan -Djava.ext.dirs alih-alih -classpath JDK 9 mengharapkan. Disarankan untuk menggunakan JDK 8 (1.8). Untuk informasi tentang cara menginstal JDK 8, lihat Bagaimana cara memperbarui versi Java Development Kit (JDK)?

Jika Anda telah menginstal JDK 9, pastikan bahwa jalur berikut tidak diatur pada variabel lingkungan Anda PATH karena masih akan menunjuk ke JDK 9: C:\ProgramData\Oracle\Java\javapath. Setelah menghapusnya, java-version pada baris perintah akan menampilkan JDK 8.