Guia de migração do SDK Driver do Android 6.0

Interface do Migrate to DriverStatusListener

No Driver v5, anunciamos a descontinuação da interface StatusListener em favor de DriverStatusListener. Este ano, vamos excluir oficialmente a interface StatusListener. Consulte a descontinuação do StatusListener para um guia de migração para a nova interface.

Migrar para o Kotlin 2.0

Se você estiver usando o SDK Driver para Android 6.0 ou versões mais recentes, faça upgrade para o Kotlin 2.0. Esta página fornece 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 Driver 6.0+

Recomendamos usar o AGP 7.3 ou mais recente com o SDK Driver 6.0.

Modo R8 completo

O SDK Driver v6 e versões anteriores não são compatíveis com o modo R8 completo. É necessário desativar explicitamente o modo R8 completo se o aplicativo for direcionado ao AGP 8.0 ou versões mais recentes.

# settings.gradle
android.enableR8.fullMode=false

Compatibilidade de versões do Kotlin

O Kotlin é compatível com as três versões anteriores da linguagem (link em inglês). Isso significa que, se você já estiver usando o Kotlin 1.7 ou mais recente com o SDK Driver, 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 só se aplica 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 fazer upgrade.

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 alterações interruptivas:

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 alterações interruptivas 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: