Android Consumer SDK v2.0.0 への移行

Gradle と Android Gradle プラグインのアップデート

Gradle と Android Gradle プラグインのバージョンをアップグレードする

まず、Gradle と Android Gradle プラグインのバージョンをアップグレードします。このアップグレード 特定の SDK 依存関係との互換性が向上 (Kotlin 1.9 を含む)を実装し、いくつかの重大なバグの修正を行いました。

この SDK メジャー リリースでは、 Android アプリ プロジェクト:

  • Gradle バージョンが v7.5.0 以降かつ v7.6.0 以降であること。
  • v7.4.x の範囲の Android Gradle プラグイン(AGP)バージョン。

より高いバージョンのプラグインをターゲットにできます。ただし、 非推奨の警告が表示されるか、一部の新機能が動作しない可能性があります。

Gradle のバージョンを変更するには、プロジェクトの /gradle/wrapper/gradle-wrapper.properties ファイル

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

Android Gradle プラグインのバージョンを変更するには、このファイルを開いて build.gradle ファイルを変更します。 buildscript ブロックが含まれていることを確認します。例:

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 v7.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 に移行する

ソース

アプリの最上位モジュールで Kotlin Gradle プラグインのバージョンを更新する 追加します。org.jetbrains.kotlin:kotlin-gradle-plugin を必ず追加してください buildscript ブロックの依存関係にあります。

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

今後の予定に備えて、Kotlin 合成からアプリを移行する必要があります。 。公式の移行に関するガイドを ガイド ご確認ください。

ステップ 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-jdk7 への参照をすべて削除してください。また、 kotlin-stdlib-jdk8。両方の依存関係が統合され、 kotlin-stdlibKotlin で開始) 1.8.0.