Guia de migração do SDK do consumidor do Android 3.0

Migrar para o Kotlin 2.0

Se você estiver usando o SDK do consumidor para Android 3.0 ou mais recente, faça upgrade para o Kotlin 2.0. Esta página oferece orientações para facilitar a transição para a nova versão do Kotlin.

Compatibilidade do Gradle e do AGP

O Kotlin 2.0 tem requisitos para as versões mínima e máxima do Gradle e do Plug-in do Android para Gradle (AGP). Verifique se o projeto atende a esses requisitos para o Kotlin 2.0.

Versão mínima do AGP para o SDK do consumidor 3.0 ou mais recente

O SDK do consumidor 3.0 exige o uso do AGP 7.3 ou mais recente.

Modo R8 completo

O SDK do consumidor v3 e versões anteriores não oferece suporte ao modo R8 completo. É necessário desativar explicitamente o modo R8 completo se o aplicativo for direcionado ao AGP 8.0 ou mais recente.

# settings.gradle
android.enableR8.fullMode=false

Compatibilidade com a versão do Kotlin

O Kotlin oferece suporte à compatibilidade com versões anteriores de três versões anteriores da linguagem. Isso significa que, se você já estiver usando o Kotlin 1.7 ou mais recente com o SDK do consumidor, vai ser possível fazer upgrade para o Kotlin 2.0 sem precisar resolver todas as mudanças importantes. No entanto, a compatibilidade com o Kotlin só se aplica a recursos de linguagem estáveis. Se você estiver usando recursos Alfa, Beta ou experimentais na linguagem Kotlin, talvez seja necessário fazer outras mudanças ao fazer upgrade.

Flags de compatibilidade do Kotlin

Conforme observado na seção anterior, o Kotlin oferece suporte a até três versões anteriores da linguagem durante o upgrade. O Kotlin oferece duas flags para ajudar a limitar mudanças de ruptura:

language-version X.Y

Essa flag reverte mudanças de comportamento de uma versão anterior do Kotlin. Por exemplo, se você estiver usando o Kotlin 1.7, poderá especificar [ - language-version 1.7], e as novas mudanças não terão mais efeito:

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

Essa flag impede que novas APIs sejam usadas antes que o código downstream dependente esteja pronto para incorporar o Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

Uma abordagem mais direcionada

Além de usar flags de compatibilidade do Kotlin, recomendamos consultar as notas da versão do Kotlin e escolher os comportamentos que você quer manter da versão que está sendo atualizada. O Kotlin fornece uma lista de mudanças importantes e as flags que podem ser definidas para manter o comportamento original nos guias de compatibilidade de cada versão: