遷移 Android Consumer SDK 2.0.0 版

Gradle 和 Android Gradle 外掛程式更新

升級 Gradle 和 Android Gradle 外掛程式版本

首先,請升級 Gradle 和 Android Gradle 外掛程式版本。本次升級可提升與特定 SDK 依附元件 (包括 Kotlin 1.9) 的相容性,並修正一些重大錯誤。

這個 SDK 主要版本需要 Android 應用程式專案的下列版本依附元件:

  • Gradle 版本至少為 7.5.0,但不得高於 7.6.0。
  • Android Gradle 外掛程式 (AGP) 版本介於 7.4.x 版。

您可以指定較高版本的外掛程式,但可能會遇到淘汰警告,或部分新功能無法運作。

如要修改 Gradle 版本,請修改專案 /gradle/wrapper/gradle-wrapper.properties 檔案中的這一行

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

如要修改 Android Gradle 外掛程式版本,請修改包含 buildscript 區塊的 build.gradle 檔案。例如:

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

從 Java 7 遷移至 Java 8 程式庫支援

步驟 1 - 啟用 Java 8 程式庫支援

資料來源

由於 SDK 最低 API 級別為 23,且 AGP 版本必須為 7.4 以上,因此設定與上述來源文件略有不同。

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'
}

步驟 2 - 從 Proguard 或 Dexguard 遷移至 R8

R8、來源

AGP 7.4 以上版本會使用 R8 做為二進位的預設縮減、模糊處理和最佳化工具,因此目前不需要採取任何特殊行動。

如果專案是從 AGP 4.0 以上版本遷移,AGP 可能會發出下列有關移除檔案的警告:

  • build.gradle 檔案中的 useProguard true 用量
  • gradle.properties 檔案中的 android.enableR8=false 用量

移除這些行通常可以解決問題。

從 Kotlin 1.6 遷移至 1.9

步驟 1 - 遷移至 Kotlin Gradle 外掛程式 1.9.0

資料來源

在應用程式頂層模組的 build.gradle 檔案中,更新 Kotlin Gradle 外掛程式版本。請務必在 buildscript 區塊的依附元件中新增 org.jetbrains.kotlin:kotlin-gradle-plugin,以免遺漏。

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

如果您使用 Kotlin Gradle 外掛程式 1.6.X 或 1.7.X,就必須從 Kotlin-synthetics 遷移應用程式。詳情請參閱官方遷移指南

步驟 2 - 將 kotlin-stdlib 升級至 1.9.0

資料來源

在應用程式的 build.gradle 檔案中,將 kotlin-stblib 升級至 1.9.0。

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

請務必移除所有對 kotlin-stdlib-jdk7kotlin-stdlib-jdk8 的參照。自 Kotlin 1.8.0 起,這兩個依附元件已整併為 kotlin-stdlib