Android Gradle プラグイン 8.8.0(2025 年 1 月)

Android Gradle プラグイン 8.8.0 はメジャー リリースで、さまざまな新機能や向上が組み込まれています。

互換性

Android Gradle プラグイン 8.8 がサポートする最大 API レベルは API レベル 35 です。その他の互換性に関する情報は次のとおりです。

最小バージョン デフォルトのバージョン 備考
Gradle 8.10.2 8.10.2 詳細については、Gradle のアップデートをご覧ください。
SDK Build Tools 35.0.0 35.0.0 SDK Build Tools をインストールまたは設定します。
NDK なし 27.0.12077973 別のバージョンの NDK をインストールまたは設定します。
JDK 17 17 詳細については、JDK バージョンの設定をご覧ください。

解決済みの問題

Android Gradle プラグイン 8.8.2

修正された問題
Android Gradle プラグイン
初期化スクリプト「C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle」の 162 行目
圧縮ツール(R8)
AGP 8.8 へのアップグレード後に Gson ProGuard が正しく動作しない
java.lang.VerifyError: 検証ツールがクラスを拒否
AGP 8.10.0-alpha04 に含まれる R8 で圧縮すると Leanback がクラッシュする

Android Gradle プラグイン 8.8.1

修正された問題
Dexer(D8)
テスト用に OpenJDK 23 を追加
圧縮ツール(R8)
java.lang.AbstractMethodError: Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
DexCallSite の記録に関連する Enqueuer の NPE
R8 8.7.18 で job?.cancel を呼び出すと、実行時に null ポインタ例外が発生する
java.lang.NoClassDefFoundError: Lkotlin/LazyThreadSafetyMode の解決に失敗
Monzo がツリー シェイキングに過剰な時間を費やしているようです
AGP 8.8 でリリースビルドが失敗する : R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`

Android Gradle プラグイン 8.8.0

修正された問題
Android Gradle プラグイン
JacocoTransform の入力タイプに @Classpath アノテーションを付けることを検討してください
com.android.build.api.variant.GeneratesApk が minSdk を公開する必要がある
com.android.settings プラグインが targetSdk を認識しない
SourceDirectories.addGeneratedSourceDirectory が複数のバリアントに対応していない
AGP の最小バージョン チェックを無効にするフラグを実装
AGP と Kotlin コンパイラ オプションの構成との間に、わかりにくい相互作用がある
AGP は com.android.test プロジェクトでターゲット プロジェクト APK の BuiltArtifactLoader を公開する必要がある
[AGP] 遅延 SdkComponents.ndkDirectory プロバイダが値を生成できないが、積極的な android.ndkDirectory API は機能する
ビルド オプション: 新しい「ビルド実行構成」オプションを追加し、デフォルトに設定
android.enableBuildConfigAsBytecode=true を使用すると、単体テストで BuildConfig を解決できない
App Bundle から生成された APK がプライバシー サンドボックスのサポートを考慮しない
com.android.settings プラグインが targetSdk を認識しない
Dexer(D8)
Desugar ライブラリ 2.1.0 が AGP 8.5.2 で動作しない
lint
8.7.0-alpha04 で導入された lint チェックとの KtAnalysisSessionProvider の非互換性
Kotlin で PackageManager.ResolveInfoFlags.of を使用すると、WrongConstant が「誤検出」される
http または https の intent-filter スキームを設定すると、「少なくとも 1 つのホストを指定する必要があります」という lint エラーが発生する
UnknownNullness lint で、より多くのケースで型使用アノテーションを処理
AGP 8.6.1: 回帰 - Kotlin の @LongDef 内で [Int].toLong() を使用すると WrongConstant lint エラーが発生する
AGP 8.7.0 - NavOptionsBuilder.popUpTo で lint が RestrictedApi を誤検出する
WrongConstant lint が 2 回表示される
「MonochromeLauncherIcon: Monochrome icon is not defined」という警告が Android Studio でキャッチされない
AbstractAnnotationDetector が、間違ったオーバーロードされた関数 / コンストラクタをチェックする
lint の ImportAliasTestMode がトップレベルの関数のインポート エイリアスを作成しない
WrongConstant lint が 2 回表示される
AGP 8.8 での新しい ObsoleteSdkInt lint 警告
誤検出の lint チェック android.permission.SCHEDULE_EXACT_ALARM がシステムアプリにのみ付与される
Android Studio で .hasRoute(Route::class) を使用すると、K2 モードで RestrictedApi 警告がスローされる
lint の統合
評価後に lint バリアント タスクが見つからない
実装ファイルを含む AAR ファイルをインポートすると、Lint チェックが失敗する