Gradle と Android Gradle プラグインのアップデート
Gradle と Android Gradle プラグインのバージョンをアップグレードする
まず、Gradle と Android Gradle プラグインのバージョンをアップグレードします。このアップグレードには、特定の SDK 依存関係(Kotlin 1.9 など)との互換性の向上と、いくつかの重大なバグの修正が含まれています。
この SDK のメジャー リリースでは、Android アプリ プロジェクトに次のバージョンの依存関係が必要です。
- Gradle バージョンが v7.5.0 以上で v7.6.0 未満。
- Android Gradle プラグイン(AGP)のバージョンが v7.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 に移行する
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 に移行する
アプリケーションの最上位モジュールの build.gradle ファイルで、Kotlin Gradle プラグインのバージョンを更新します。org.jetbrains.kotlin:kotlin-gradle-plugin
がない場合、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-jdk7
または kotlin-stdlib-jdk8
への参照は必ず削除してください。Kotlin 1.8.0 以降、両方の依存関係は kotlin-stdlib
に統合されています。