Android Studio 3.0(canary 3.0))で見られるように、depedencies
構成の代わりにimplementation
を宣言してcompile
を追加します。
// Before
compile 'com.Android.support:appcompat-v7:25.3.1'
// Currently
implementation 'com.Android.support:appcompat-v7:25.3.1'
compile
を引き続き使用できますが、理解したいと思います。
implementation
とcompile
の設定の違いは何ですか?implementation
を使用するように変更されるのですか?compile
は非推奨になり、代わりにapi
またはimplementation
を使用する必要があるようです。 The Java Library Plugin-Gradle User Guide Version 3.5 :
compile
構成はまだ存在しますが、api
およびimplementation
構成が提供する保証を提供しないため、使用しないでください。
@petterからの非常に便利なリンクのおかげで、次のように要約を追加したいと思います。
だということだ Android Gradle build
はJava-library
以前のJava
プラグインの代わりのプラグイン。このプラグインはexposed API
依存関係を宣言する2つのconfiguration
の概念。
ライブラリAPIによってエクスポートされる依存関係を宣言するために使用する必要があります
たとえば、他のアプリで使用されるJava(またはAndroid)ライブラリを構築している場合。サードパーティライブラリを使用し、そのAPIを公開する場合ライブラリのコンシューマも、このように宣言する必要があります。
api 'commons-httpclient:commons-httpclient:3.1'
コンポーネントの内部にある依存関係を宣言するために使用する必要があります。
Android app)を開発する場合、app
モジュールは、一部を外部に公開する必要のないエンドポイントです。implementation
を使用する必要があります。
implementation 'org.Apache.commons:commons-lang3:3.5'
以前のcompile
設定はapi
と同じように機能します。ただし、implementation
には次の利点があります。