Panduan Migrasi Android Consumer SDK 3.0

Bermigrasi ke Kotlin 2.0

Jika Anda menggunakan Consumer SDK untuk Android 3.0+, Anda harus mengupgrade ke Kotlin 2.0. Halaman ini memberikan panduan untuk mempermudah transisi ke versi Kotlin baru.

Kompatibilitas Gradle dan AGP

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

Versi minimum AGP untuk Consumer SDK 3.0+

Consumer SDK 3.0 mengharuskan penggunaan AGP 7.3+.

Mode R8 penuh

Consumer SDK v3 dan yang lebih lama tidak mendukung mode R8 Penuh. Anda harus menonaktifkan mode R8 Penuh secara eksplisit jika aplikasi Anda menargetkan AGP 8.0+.

# settings.gradle
android.enableR8.fullMode=false

Kompatibilitas versi Kotlin

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

Flag kompatibilitas Kotlin

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

language-version X.Y

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

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}
api-version X.Y

Flag ini mencegah penggunaan API baru sebelum kode hilir dependen siap untuk menggabungkan Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Pendekatan yang lebih bertarget

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