Migração do SDK de consumidor do Android v2.0.0

Atualizações do Gradle e do Plug-in do Android para Gradle

Fazer upgrade das versões do Gradle e do Plug-in do Android para Gradle

Primeiro, faça upgrade das versões do Gradle e do plug-in do Android para Gradle. Essa atualização inclui melhor compatibilidade com determinadas dependências do SDK (incluindo Kotlin 1.9), além de algumas correções de bugs críticos.

Esta versão principal do SDK requer as seguintes dependências de versão para seu projeto de aplicativo Android:

  • uma versão do Gradle pelo menos v7.5.0, mas não superior a v7.6.0.
  • uma versão do Plug-in do Android para Gradle (AGP) no intervalo v7.4.x.

Você pode segmentar uma versão mais recente dos plug-ins, mas pode receber avisos de suspensão de uso ou alguns recursos novos podem não funcionar.

Para modificar a versão do Gradle, mude a linha no arquivo /gradle/wrapper/gradle-wrapper.properties do projeto.

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

Para modificar a versão do Plug-in do Android para Gradle, edite o arquivo build.gradle que contém o bloco buildscript. Exemplo:

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

Migração da compatibilidade da biblioteca do Java 7 para o Java 8

Etapa 1: ativar o suporte à biblioteca Java 8

Origem

Como o nível mínimo da API do SDK é 23 e a versão necessária do AGP é 7.4 ou mais recente, a configuração é um pouco diferente da documentação de origem mencionada.

buildscript {

    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath 'com.android.tools:r8:8.0.46'
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

android {
    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}

Etapa 2: migrar do Proguard ou Dexguard para o R8

R8, fonte

O AGP v7.4 e versões mais recentes usam o R8 como a ferramenta padrão de redução, ofuscação e otimização para o binário. Portanto, nenhuma ação especial é necessária neste momento.

Se o projeto for migrado do AGP 4.0 ou de uma versão mais recente, o AGP poderá emitir os seguintes avisos sobre remoções de arquivos:

  • Uso de useProguard true no arquivo build.gradle
  • Uso de android.enableR8=false no arquivo gradle.properties

A remoção dessas linhas geralmente resolve esses problemas.

Migração do Kotlin 1.6 para o 1.9

Etapa 1: migrar para o plug-in do Kotlin para Gradle 1.9.0

Origem

Atualize a versão do plug-in do Kotlin Gradle no arquivo build.gradle do módulo de nível superior do aplicativo. Adicione org.jetbrains.kotlin:kotlin-gradle-plugin nas dependências do bloco buildscript, caso esteja faltando.

buildscript {
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
  }
}

Migre seu aplicativo do Kotlin-synthetics se você estiver usando o plug-in do Kotlin para Gradle 1.6.X ou 1.7.X. Consulte o guia de migração oficial para mais informações.

Etapa 2: fazer upgrade do kotlin-stdlib para 1.9.0

Origem

Faça upgrade do kotlin-stblib para 1.9.0 no arquivo build.gradle do aplicativo.

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}

Remova todas as referências a kotlin-stdlib-jdk7 ou kotlin-stdlib-jdk8. Ambas as dependências foram consolidadas em kotlin-stdlib a partir do Kotlin 1.8.0.