Android Gradle プラグイン 8.7.0(2024 年 10 月)

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

互換性

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

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

lint の動作の変更

Android Gradle プラグイン 8.7.0-alpha08 以降、Gradle を使用して lint を実行するときに LintError がある場合、lint 分析タスクは例外をスローします。この変更により、まれなエラーがビルド キャッシュにキャッシュに保存されるのを防ぐことができます。

残念ながら、この変更により、lint ベースライン ファイルに実際の LintError インスタンスがあるプロジェクトのビルドが中断されます。エラー メッセージには、どの lint チェックが問題の原因となっているかに関する情報が含まれています。場合によっては、対応するライブラリの依存関係を更新すると、問題が解決することがあります。そうでない場合は、ライブラリの作成者が修正するまで、問題のある lint チェックを無効にできます。

修正された問題

Android Gradle プラグイン 8.7.0

修正された問題
Android Gradle プラグイン
AGP は、リリース予定の API 35 をサポートしていることを宣言すべきです
AGP 8.5: 実行される「mergeDebugResources」タスクが大幅に増え、ビルドが遅くなる
AGP で ndk 27 をデフォルトの NDK にします。
AGP は、リリース予定の API 35 をサポートしていることを宣言すべきです
AGP は、リリース予定の API 35 をサポートしていることを宣言すべきです
NoSuchFileException で Android lint の実行が失敗する
BuildType#initWith が後処理ブロックをコピーするが、proguard 構成が適用されない
foregroundServiceType タグをマージできない
NoSuchFileException で Android lint の実行が失敗する
lint
ViewGroup として使用される無効なオブジェクトを lint でチェックする
ホストが null の URI の場合、「android:host is missing」
8.7.0-alpha04 で導入された lint チェックとの KtAnalysisSessionProvider の非互換性
Kotlin で PackageManager.ResolveInfoFlags.of を使用すると WrongConstant の誤検出が発生する

Android Gradle プラグイン 8.7.1

修正された問題
Android Gradle プラグイン
agp ドキュメントに TBD が多い
lint
AGP 8.6.1: 回帰 - Kotlin の @LongDef 内で [Int].toLong() を使用すると WrongConstant lint が失敗する
http または https インテント フィルタ スキームを設定すると「少なくとも 1 つのホストを指定する必要があります」という lint エラーが表示される

Android Gradle プラグイン 8.7.2

修正された問題
lint
AGP 8.7.0 - NavOptionsBuilder.popUpTo で Lint の誤検出 RestrictedApi が発生する
圧縮ツール(R8)
[R8 8.6.27] メソッド実装が `throw null` に置き換えられる
現在のバージョンの R8 で使用すると、デフォルトの Android ProGuard ファイルが警告をスローする
メッセージが大きすぎると、MissingStartupProfileItemsDiagnostic がメモリ不足エラーで Gradle クライアントをクラッシュさせる

Android Gradle プラグイン 8.7.3

修正された問題
lint
lint の実行時に分析 API メソッドの欠落に関する警告が多数表示される
lint チェックの誤検出: android.permission.SCHEDULE_EXACT_ALARM はシステムアプリにのみ付与されます