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

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

互換性

Android Gradle プラグイン 8.7 でサポートされている最大 API レベルは 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」タスクが実行され、ビルドが遅くなる
ndk 27 を AGP のデフォルトの NDK にします。
AGP は、まもなくリリースされる API 35 をサポートしていることを宣言する必要があります
AGP は、まもなくリリースされる API 35 をサポートしていることを宣言する必要があります
Android lint の実行が NoSuchFileException で失敗する
BuildType#initWith がポストプロセッシング ブロックをコピーするが、ProGuard 構成が適用されない
foregroundServiceType タグの統合ができない
Android lint の実行が NoSuchFileException で失敗する
lint
Lint で ViewGroup として使用されている無効なオブジェクトをチェックする
ホストが null の URI で「android:host がありません」
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 で RestrictedApi の lint が誤検出される
圧縮ツール(R8)
[R8 8.6.27] メソッドの実装を「throw null」に置き換えました
デフォルトの Android ProGuard ファイルが、現在のバージョンの R8 で使用すると警告をスローする
MissingStartupProfileItemsDiagnostic が、メッセージが大きすぎる場合にメモリ不足エラーで Gradle クライアントをクラッシュさせる

Android Gradle プラグイン 8.7.3

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