Android Gradle プラグイン 8.2.0(2023 年 11 月)
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android Gradle プラグイン 8.2.0 はメジャー リリースで、さまざまな新機能や改善措置が組み込まれています。
互換性
Android Gradle プラグイン 8.2 でサポートされている最大 API レベルは API レベル 34 です。その他の互換性情報は次のとおりです。
|
最小バージョン |
デフォルトのバージョン |
備考 |
Gradle |
8.2 |
8.2 |
詳細については、Gradle のアップデートをご覧ください。 |
SDK Build Tools |
34.0.0 |
34.0.0 |
SDK Build Tools をインストールまたは設定します。 |
NDK |
なし |
25.1.8937393 |
別のバージョンの NDK をインストールまたは設定します。 |
JDK |
17 |
17 |
詳細については、JDK バージョンの設定をご覧ください。 |
JDK パスを指定する新しいマクロ
#GRADLE_LOCAL_JAVA_HOME
は、JDK パスの指定に使用できる新しいマクロです。これにより、プロジェクトの Gradle デーモン(バックグラウンド プロセス)の実行に使用する Java ホームパスをより安全かつ簡単に指定できます。パスの選択は、.gradle/config.properties
ファイルの java.home
フィールドに格納されます。このフィールドは、Android Studio の Gradle JDK 設定([File](macOS では [Android Studio])> [Settings] > [Build, Execution, Deployment] > [Build Tools] > [Gradle])で設定します。
新しいプロジェクトはデフォルトで #GRADLE_LOCAL_JAVA_HOME
を使用します。#JAVA_HOME
などのマクロをすでに使用している場合を除き、同期が正常に完了すると、既存のプロジェクトは自動的に新しいマクロに移行されます。
新しいマクロの主なメリットは次のとおりです。
- 最初にプロジェクトを開かなくても、JDK パスを手動で変更して、同期をトリガーできます。
- Gradle JDK の選択に関する信頼できる唯一の情報源があるため、互換性のない Gradle およびプロジェクト JDK バージョンに関連するエラーが少なくなります。
修正された問題
Android Gradle プラグイン 8.2.0
修正された問題 |
Android Gradle プラグイン |
カスタム ソースタイプでマルチフレーバーのソースセットを作成する必要がある
|
SDK バージョン チェックが SDK 拡張機能のユーザーに対応しない
|
DependenciesInfoBuilder には API の更新とドキュメントが必要
|
ネストのメンバーがないことが原因で Java 11 ターゲットでの DexingNoClasspathTransform (minSdk >= 24) が失敗する
|
Groovy に記載されているとおりに DslExtension.Builder.extendProjectWith() が機能しない
|
kotlin.Pair を使用しない VariantSelector.withFlavor API を追加
|
「proguard.txt」が変更されたため、AndroidLintAnalysisTask ( :lintAnalyzeExternalRelease) にキャッシュミスがある
|
アプリのマージ マニフェストに依存関係の extractNativeLibs 属性と useEmbeddedDex 属性が含まれている
|
build-tools 33.0.0 で AIDL が失敗する
|
AGP: AIDL ツールとフレームワークの AIDL ファイルへのパスを公開 API として公開している
|
リクエスト: IDE が「PermittedSubclasses が ASM9 を要求する」問題の修正を提供できるようにする
|
AGP のコンパイル時にバイトコード 17 をターゲットにする
|
VariantManager.getModifiedName を削除
|
AndroidTest.packaging.jniLibs.keepDebugSymbols が androidTest のパッケージ化に影響しない
|
GMD インストルメンテーション テストのタスクがハングし、再試行しても失敗する
|
agp 8.1.0 の generateLocaleConfig は非決定的な順序を使用するため、再現可能なビルドができない
|
ProcessApplicationManifest.navigationJsons に絶対パスのファイルがある
|
AnalyticsService の作成後に AnalyticsConfiguratorService を介して GradleBuildProject.Builder にアクセスできない
|
AndroidTest.packaging.jniLibs.keepDebugSymbols が androidTest のパッケージ化に影響しない
|
カラー値が不正な場合でもコンパイルが可能
|
VariantBuilder の「ReplaceWith」が正しくない
|
.gradle/.android/analytics.settings が原因で Gradle 8.1 で構成キャッシュが壊れる
|
非推奨のメッセージで「ReplaceWith」が使用されない
|
デフォルトの NDK バージョンを取得する方法を公開
|
Android Gradle プラグインを実行するには Java 17 が必要です。
|
ASM 変換と toAppend() に互換性がない
|
KMP プロジェクトで Gradle を介して K2 UAST で lint を実行したときの LintErrors を修正
|
バリアント レベルの missingDimensionStrategy をサポート、場合によってはビルドタイプ / フレーバーの matchingFallback をサポート
|
Android Studio Giraffe で「android.injected.studio.version」を削除
|
AndroidXDependencyCheck を無効にする機能を追加
|
agp 8.1.0 の generateLocaleConfig は非決定的な順序を使用するため、再現可能なビルドができない
|
R8 / D8 バージョンの要件を AAR メタデータでアドバタイズする(例: 要件を満たしていない coreLibraryDesugaring や新しい API の場合など)
|
同期警告: 「AnalyticsService の作成後は AnalyticsConfiguratorService 経由で GradleBuildProject.Builder にアクセスできないようにする必要があります」
|
Gradle 8.2 マイルストーンまたは RC への更新
|
「java.lang.Comparable」にアクセスできない
|
Android ライブラリ モジュールで androidResources を利用できない
|
AGP 8.0.2 から 8.1.0 への更新後にタスク ':app:mergeReleaseClasses' の実行が失敗する
|
.gradle/.android/analytics.settings が原因で Gradle 8.1 で構成キャッシュが壊れる
|
[AGP 8.1.0] splits.abi.isEnable と testOptions.unitTests.isIncludeAndroidResources の両方が true の場合、「Unable to find manifest output」というエラーで ./gradlew テストが失敗する
|
Android Studio Giraffe が AGP 8.1 で versionCodeOverride を遵守しない
|
インストルメンテーション テストの実行後に AGP 8.1.0 がアプリをアンインストールする(7.4.2 はアンインストールしない)
|
APK を変換すると ListingFileRedirectTask でエラーが発生する
|
Hedgehog 回帰: 実行ボタンが数秒ほど遅延する(仕様の作成中)
|
|
Dexer(D8) |
min-api 34 以降での dex 変換時にネイティブ レコードとシール クラスを有効にする
|
|
lint |
インスタンス化された lint チェックで AppComponentFactory が正しく処理されない
|
lint 8.2.0 アルファ版では引き続き、Kotlin でのトップレベルの関数のインポートがサポートされない
|
lint ベースラインに行番号と列番号を表示しないオプションを追加
|
lint ベースラインに行番号と列番号を表示しないオプションを追加
|
lint テストは Java 17 言語機能をサポートしない
|
Bumblebee 2021.1.1 パッチ 1 で、commons-io の古いバージョン(20030203.000550)が 2.11.0 より新しいとみなされる
|
lint 8.2.0 アルファ版では引き続き、Kotlin でのトップレベルの関数のインポートがサポートされない
|
Bumblebee 2021.1.1 パッチ 1 で、commons-io の古いバージョン(20030203.000550)が 2.11.0 より新しいとみなされる
|
Android Studio で、指定されたバージョンが古いものとして誤ってマークされる
|
K2 UAST を使用する場合、lint で UseValueOf の問題が無視される
|
Android lint によって報告された別のプロジェクトからの予期しない問題
|
Android lint が KMP ライブラリで「property 'variantInputs.name' doesn't have a specified value」というエラーが表示されて失敗する
|
|
lint の統合 |
testImplementation 依存関係からの DuplicatePlatformClasses lint エラー
|
|
圧縮ツール(R8) |
java.lang.VerifyError: 検証ツールがクラスを拒否
|
Apache POI ライブラリを使用している場合にビルドが :minifyReleaseWithR8 で先に進まなくなる
|
null チェックが削除された場合、Kotlin 1.9 で Kotlin ラムダが R8 によって破棄される
|
|
Android Gradle プラグイン 8.2.1
修正された問題 |
Android Gradle プラグイン |
アーティファクト変換によってすでに dex 変換されているサブプロジェクトのクラスに対して dex 変換タスクを実行しない
|
Android Gradle プラグインが JavaVersion.VERSION_11 と OpenJDK 21 ea で失敗する
|
|
Dexer(D8) |
|
圧縮ツール(R8) |
R8 が破損した dex を生成し、実行時にクラスキャスト例外が発生する
|
R8 によりインターフェースが変更されてアクセス不能なインターフェースになる
|
AGP 8.2.0 で R8 Flurry SDK がクラッシュする
|
Android - R8 が原因で LinearLayoutManager のサブクラスがクラッシュする
|
再パッケージ化がオンになっており、圧縮、難読化、最適化がオフになっている場合に、R8 で ClassCastException が発生する
|
R8 が BridgeAnalyzer.analyzeMethod から先に進まない
|
R8 v8.2.33、アップグレード後に「java.lang.VerifyError: Bad type on operand stack」ランタイム クラッシュが発生する
|
|
Android Gradle プラグイン 8.2.2
修正された問題 |
Android Gradle プラグイン |
AGP 8.2.0 で JaCoCo バージョンを設定できない
|
|
Dexer(D8) |
[脱糖ライブラリ] 脱糖ライブラリ バージョン 2.1 が R8 の以前のバージョンと互換性がない
|
D8 のみでも最適化が実行されるか?
|
|
圧縮ツール(R8) |
[R8 8.3.21] R8 8.3.21 は R8 8.1.56 より 1.57 MB 大きい
|
class.getInterfaces() が空を返す
|
|
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-02-28 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-02-28 UTC。"],[],[]]