以下によるとSO post、compile
は最近implementation
になりました: gradleでの実装とコンパイルの違いは何ですか
私の質問は、compileOnly
の代わりに何を使うべきですか?上記の投稿では、そのgradle構成については取り上げていません。私はまだcompileOnly
を使用できることを知っていますが、すぐに廃止されない推奨構成は何ですか?
..compile..
を含むすべての設定が..implementation..
に置き換えられるように見えました。 implementationOnly
を試しましたが、Android Studioでは受け入れられませんでした。
compileOnly
is置換—廃止予定の同等の構成はprovided
です。 ドキュメント を参照してください。
Project gradleの依存関係は次のように変更する必要があります
dependencies {
provided 'com.someDependency:api:78'
}
に
dependencies {
compileOnly 'com.someDependency:api:78'
}
IDE gradleファイルにプロジェクトを追加する自動提案を受け入れる場合、「compile project(path: 'xxx')」が追加されます。それを修正すれば大丈夫です。 。
Gradle 3.0.0のAndroidプラグイン
before-非推奨の構成-provided
after-新しい構成-compileOnly
Gradleは、コンパイルクラスパスのみに依存関係を追加します(ビルド出力には追加されません)。これはAndroidライブラリモジュールを作成していて、コンパイル中に依存関係が必要な場合に便利ですが、実行時に存在することはオプションです。つまり、この構成を使用する場合、ライブラリモジュールには、依存関係が利用可能かどうかを確認するランタイム条件を含める必要があります。その後、動作を適切に変更して、提供されない場合でも機能するようにします。この構成は、提供されたものと同じように動作します(現在は廃止されています)。