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.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 は機能する
ビルド オプション: 新しい [Build Run configuration] オプションを追加し、デフォルトにする
android.enableBuildConfigAsBytecode=true を使用している場合、単体テストで BuildConfig を解決できない
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 のインテント フィルタ スキームを設定するときに「少なくとも 1 つのホストを指定する必要があります」という lint エラーが発生する
UnknownNullness lint で、より多くのケースで型使用アノテーションを処理
AGP 8.6.1: リグレッション - Kotlin の @LongDef 内で [Int].toLong() を使用すると、WrongConstant lint エラーが発生する
AGP 8.7.0 - NavOptionsBuilder.popUpTo で RestrictedApi の lint が誤検出される
WrongConstant lint が 2 回表示される
「MonochromeLauncherIcon: モノクロアイコンが定義されていません」という警告が Android Studio でキャッチされない
AbstractAnnotationDetector が間違ったオーバーロード関数/コンストラクタをチェックする
Lint ImportAliasTestMode がトップレベル関数のインポート エイリアスを作成しない
WrongConstant lint が 2 回表示される
AGP 8.8 での新しい ObsoleteSdkInt lint 警告
android.permission.SCHEDULE_EXACT_ALARM 権限はシステムアプリにのみ付与されるという lint チェックの誤検出
Android Studio で .hasRoute(Route::class) を使用すると、K2 モードで RestrictedApi 警告がスローされる
lint の統合
評価後に lint バリアント タスクが見つからない
実装ファイルを含む AAR ファイルをインポートするとリンティングが失敗する

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