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

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

互換性

Android Gradle プラグイン 8.8 でサポートされる最大 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.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 を解決できない
バンドルから生成された 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 インテント フィルタ スキームを設定すると「少なくとも 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: モノクローム アイコンが定義されていません」という警告が 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 が失敗する

Android Gradle プラグイン 8.8.1

修正された問題
Dexer(D8)
テスト用に OpenJDK 23 を追加
圧縮ツール(R8)
java.lang.AbstractMethodError: 受信側クラス [...]$$Lambda$[...] は、インターフェース [...] の解決済みメソッド [...] の実装を定義または継承していません
DexCallSite レコードに関連する Enqueuer の NPE
R8 8.7.18 で job?.cancel を呼び出すと実行時に null ポインタ例外が発生する
java.lang.NoClassDefFoundError: Lkotlin/LazyThreadSafetyMode の解決に失敗しました
Monzo でツリー シェイキングに時間がかかりすぎているようです
AGP 8.8 でリリースビルドが失敗する : R8: java.lang.NullPointerException: 「com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)」の戻り値が null であるため、フィールド「b」を読み取ることができません

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 がクラッシュする