2017-11-01 7 views
0

最近Androidスタジオをバージョン3.0にアップデートしました。今度はbuild.gradleにすべての依存関係は、古いcompileキーワードの代わりにimplementationキーワードを使用して追加されます。Gradleの新しい実装キーワードは何ですか

dependencies { 
    implementation fileTree(include: ['*.jar'], dir: 'libs') 
    implementation 'com.android.support:appcompat-v7:25.4.0' 
} 

しかし、compileキーワードはまだ機能しています。 compileImplementationの違いは何ですか?

答えて

1

compileは、ライブラリを使用すると、依存関係がコンパイルに公開されているかどうかを制御することを可能にするapiまたはimplementation

のGradle 3.4導入された新しいJavaのライブラリのプラグイン構成を使用するために使用しますので、推奨されていませんし、そのライブラリを使用するプロジェクトの実行時クラスパス。 Androidプラグインはこれらの新しい依存関係設定を採用しており、大きなプロジェクトを移行することでビルド時間を大幅に短縮できます。

implementation

実装依存性はそのAPIを変更した場合、Gradleのはそれだけで依存し、直接それに依存するモジュールを再コンパイルします。ほとんどのアプリとテストモジュールでこの設定を使用する必要があります。モジュールは、Gradleのモジュールは推移、他のモジュールにその依存関係をエクスポートしたいことを知らせるのAPIの依存関係が含まれて

api

それは両方の実行時にそれらに利用できるようにし、コンパイル時。この設定はコンパイルと同様に動作します(現在は推奨されていません)。通常、これはライブラリモジュールでのみ使用してください。 APIの依存性はその外部のAPIを変更した場合、Gradleのは

がよりnew dependency configurations

から読むコンパイル時にその依存関係へのアクセス権を持つすべてのモジュールを再コンパイルし、からです
関連する問題