Migrar para o Kotlin 2.0

Se você estiver usando o SDK Navigation para Android 6.0 ou versões mais recentes, 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 da sua versão do Gradle e do Plug-in do Android para Gradle (AGP, na sigla em inglês). Verifique se o projeto atende a estes requisitos para o Kotlin 2.0.

Versão mínima do AGP para o SDK do Navigation 6.0 ou mais recente.

Recomendamos usar o AGP 7.3 ou mais recente com o SDK de navegação 6.0. Verificamos o SDK com o AGP 8.3 e o Gradle 8.4, e o SDK é compatível com o modo completo do R8.

Compatibilidade da versão do Kotlin

O Kotlin oferece suporte à compatibilidade 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 Navigation, será possível fazer upgrade para o Kotlin 2.0 sem precisar resolver todas as mudanças importantes. No entanto, isso 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.

Facilitar a transição: 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 fornece duas sinalizações para ajudar a limitar mudanças interruptivas:

language-version X.Y

Essa flag reverte as mudanças de comportamento de uma versão anterior do Kotlin. Por exemplo, se você estiver usando o Kotlin 1.7, especifique [ - language-version 1.7] para que as novas mudanças interruptivas não entrem mais em vigor:

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}

api-version X.Y

Essa sinalização 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 alterações interruptivas e as flags que podem ser definidas para manter o comportamento original nos guias de compatibilidade de cada versão: