Bermigrasi ke Kotlin 2.0

Jika menggunakan Navigation SDK untuk Android 6.0+, Anda harus mengupgrade ke Kotlin 2.0. Halaman ini memberikan panduan untuk memudahkan transisi ke versi Kotlin baru.

Kompatibilitas Gradle dan AGP

Kotlin 2.0 memiliki persyaratan untuk versi minimum dan maksimum untuk versi Gradle dan Plugin Android Gradle (AGP). Pastikan project Anda memenuhi persyaratan ini untuk Kotlin 2.0.

Versi minimum AGP untuk Navigation SDK 6.0+

Sebaiknya gunakan AGP 7.3+ dengan Navigation SDK 6.0. Kami telah memverifikasi SDK dengan AGP 8.3 dan Gradle 8.4, dan SDK tersebut kompatibel dengan Mode Penuh R8.

Kompatibilitas versi Kotlin

Kotlin mendukung kompatibilitas mundur dengan tiga versi bahasa sebelumnya. Artinya, jika sudah menggunakan Kotlin 1.7+ dengan Navigation SDK, Anda akan dapat mengupgrade ke Kotlin 2.0 tanpa harus menyelesaikan semua perubahan yang dapat menyebabkan gangguan. Namun, ini hanya berlaku untuk fitur bahasa stabil. Jika menggunakan fitur alfa, beta, atau eksperimental dalam bahasa Kotlin, Anda mungkin harus melakukan perubahan tambahan saat mengupgrade.

Memudahkan transisi: Flag kompatibilitas Kotlin

Seperti yang disebutkan di bagian sebelumnya, Kotlin mendukung hingga 3 versi bahasa sebelumnya saat melakukan upgrade. Kotlin menyediakan dua flag untuk membantu membatasi perubahan yang dapat menyebabkan gangguan:

versi bahasa X.Y

Flag ini mengembalikan perubahan yang menyebabkan error pada perilaku versi Kotlin sebelumnya. Misalnya, jika menggunakan Kotlin 1.7, Anda dapat menentukan [ - language-version 1.7] dan perubahan yang menyebabkan gangguan baru tidak akan lagi berlaku:

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}

api-versi X.Y

Tanda ini mencegah API baru digunakan sebelum kode downstream dependen siap untuk menggabungkan Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Pendekatan yang lebih tertarget

Selain menggunakan tanda kompatibilitas Kotlin, sebaiknya tinjau catatan rilis Kotlin dan pilih perilaku yang ingin Anda pertahankan dari versi yang Anda upgrade. Kotlin menyediakan daftar perubahan yang dapat menyebabkan gangguan dan flag yang dapat ditetapkan untuk mempertahankan perilaku asli dalam panduan kompatibilitasnya untuk setiap versi: