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

Migrar para a interface DriverStatusListener

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

Migrar para o Kotlin 2.0

Se você estiver usando o SDK do driver para Android 6.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 driver 6.0 ou mais recente

Recomendamos o uso da AGP 7.3 ou mais recente com o SDK do driver 6.0.

Modo R8 completo

O SDK do driver v6 e versões anteriores não oferece suporte ao modo R8 completo. É necessário desativar explicitamente o modo R8 completo se o app 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 driver, 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 as 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: