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 estes 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 são compatíveis com o modo R8 completo. Você precisa 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 de versões do Kotlin

O Kotlin oferece compatibilidade com versões anteriores com 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, será possível fazer upgrade para o Kotlin 2.0 sem precisar resolver todas as mudanças incompatíveis. No entanto, a compatibilidade com Kotlin se aplica apenas a recursos estáveis da linguagem. Se você estiver usando recursos Alfa, Beta ou experimentais na linguagem Kotlin, talvez seja necessário fazer outras mudanças ao atualizar.

Flags de compatibilidade com Kotlin

Como observado na seção anterior, o Kotlin oferece suporte a até três versões anteriores da linguagem ao fazer upgrade. O Kotlin fornece duas flags para ajudar a limitar mudanças incompatíveis:

language-version X.Y

Essa flag reverte mudanças significativas no 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 incompatíveis não vão mais entrar em vigor:

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 revisar as notas da versão do Kotlin e escolher os comportamentos que você quer manter da versão de que está fazendo upgrade. O Kotlin oferece uma lista de mudanças irregulares e as flags que podem ser definidas para manter o comportamento original nos guias de compatibilidade de cada versão: