Android Gradle プラグインの DSL / API の移行スケジュール
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android Gradle プラグイン(AGP)は、Android アプリでサポートされているビルドシステムであり、さまざまなタイプのソースをコンパイルして、実際の Android デバイスまたはエミュレータ上で実行可能なアプリにまとめてリンクできます。
以下のセクションでは、AGP の DSL と API の予定されている進化について説明します。安定版リリースで新しい API が導入されると、古い API は非推奨としてマークされます。非推奨の API は、次の安定版リリースでは利用できなくなります。AGP の各メジャー リリースで予定されている変更点に関する情報は、以下のとおりです。
AGP API の非推奨や削除の詳細なログについては、AGP API の更新 をご覧ください。
注: 下記の期間は推定であり、変更される可能性があります。
AGP 9.0(2024 年半ば)
新しい Variant API が安定版となり、古い API は非推奨となります
4.1 と 4.2 では準備中であった Variant API が安定します。
これらのインターフェースはすべて gradle-api
アーティファクトにあります。
古い Variant API で使用されていた以前のインターフェースとクラスは、非推奨になります。
新しい DSL インターフェースが安定版となり、古い DSL インターフェースは非推奨となります
4.1、4.2、7.0 では準備中であった DSL インターフェース が安定します。
これらのインターフェースはすべて gradle-api
アーティファクトにあります。
DSL で使用していた以前のインターフェースとクラスは、非推奨になります。
非公開の内部 AGP クラスには引き続きアクセス可能
他のアーティファクトにある AGP の非公開の内部クラスには、ビルドファイルのコンパイル中に引き続きアクセスできますが、常に破壊的に変更される可能性があるため、使用することはおすすめしません 。
AGP 10.0(2025)
古い API が削除されます
DSL と古い Variant API で使用されていた以前のインターフェースとクラスはすべて削除 されます。
gradle-api
アーティファクトは、DSL と Variant API のインターフェースとクラスにアクセスするために必要な唯一のアーティファクトであり、プラグインの開発時に使用する必要があります。
Gradle メタデータを使用すると、コンパイルとランタイムに異なる依存関係グラフが提供されるため、ビルドファイルのコンパイル中に使用できるアーティファクトは gradle-api
のみになります。
(未定)非公開の内部 AGP クラスへのアクセス権が削除されます
gradle
アーティファクトへの依存関係によって、すべての内部クラスが非表示になり、gradle-api
アーティファクトで使用できるインターフェースとクラスにのみコンパイル アクセス権が付与されます。これは、プラグインとビルドファイルのコンパイルの両方に影響を与えます。
内部クラスにアクセスするために、手動で依存関係を追加することはできません。
重要: 内部 AGP クラスの削除に関するフィードバックをお待ちしております。
アクセスを必要とする内容の具体的な例を含め、ユースケースをお知らせください。フィードバックを送信する場合は、こちらのトラッキング問題 をご利用ください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンス に記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2023-12-01 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
{"lastModified": "\u6700\u7d42\u66f4\u65b0\u65e5 2023-12-01 UTC\u3002"}
[[["わかりやすい","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"]],["最終更新日 2023-12-01 UTC。"]]