Guida alla migrazione all'SDK consumer per Android 3.0

Eseguire la migrazione a Kotlin 2.0

Se utilizzi l'SDK Consumer per Android 3.0 o versioni successive, devi eseguire l'upgrade a Kotlin 2.0. Questa pagina fornisce indicazioni per facilitare la transizione alla nuova versione di Kotlin.

Compatibilità con Gradle e AGP

Kotlin 2.0 ha requisiti per le versioni minima e massima per la versione di Gradle e del plug-in Android per Gradle (AGP). Assicurati che il tuo progetto soddisfi questi requisiti per Kotlin 2.0.

Versione minima di AGP per l'SDK Consumer 3.0+

L'SDK Consumer 3.0 richiede l'utilizzo di AGP 7.3 o versioni successive.

Modalità R8 completa

L'SDK consumer v3 e versioni precedenti non supportano la modalità R8 completa. Devi disattivare esplicitamente la modalità R8 completa se la tua applicazione ha come target AGP 8.0 o versioni successive.

# settings.gradle
android.enableR8.fullMode=false

Compatibilità della versione di Kotlin

Kotlin supporta la compatibilità con le versioni precedenti con tre versioni precedenti del linguaggio. Ciò significa che se utilizzi già Kotlin 1.7+ con l'SDK Consumer, dovresti poter eseguire l'upgrade a Kotlin 2.0 senza dover risolvere tutte le modifiche che causano errori irreversibili. Tuttavia, la compatibilità con Kotlin si applica solo alle funzionalità stabili del linguaggio. Se utilizzi funzionalità alpha, beta o sperimentali nel linguaggio Kotlin, potrebbe essere necessario apportare modifiche aggiuntive durante l'upgrade.

Flag di compatibilità di Kotlin

Come indicato nella sezione precedente, Kotlin supporta fino a tre versioni precedenti della lingua durante l'upgrade. Kotlin fornisce due flag per limitare le modifiche che causano interruzioni:

language-version X.Y

Questo flag ripristina le modifiche che causano interruzioni nel comportamento di una versione precedente di Kotlin. Ad esempio, se utilizzi Kotlin 1.7, puoi specificare [ - language-version 1.7] e le nuove modifiche che causano interruzioni non avranno più effetto:

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

Questo flag impedisce l'utilizzo di nuove API prima che il codice downstream dipendente sia pronto per incorporare Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Un approccio più mirato

Oltre a utilizzare i flag di compatibilità Kotlin, ti consigliamo di esaminare le note di rilascio di Kotlin e scegliere i comportamenti che vuoi conservare della versione da cui esegui l'upgrade. Kotlin fornisce un elenco di modifiche che causano interruzioni e i flag che possono essere impostati per mantenere il comportamento originale nelle guide alla compatibilità per ogni versione: