EclipseプロジェクトをAndroid Studioにインポートした後、2つのbuild.gradle
ファイルが表示されます。
1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle
最初のバージョンは短く、2番目のバージョンにはcompileSdkVersion
などの定義が含まれます。
2つの別個のファイルを持つ背後にある目的は何ですか?個別のビルドタスクはありますか?
<PROJECT_ROOT>\app\build.gradle
は、アプリモジュールに固有です。
<PROJECT_ROOT>\build.gradle
は"トップレベルビルドファイル"です。すべてのサブプロジェクト/モジュールに共通の構成オプションを追加できます。
プロジェクトで別のモジュールを使用する場合、ローカルライブラリとして別のbuild.gradle
ファイルがあります:<PROJECT_ROOT>\module\build.gradle
最上位ファイルのexampleには、次の共通プロパティを指定できます。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.3.0'
}
}
ext {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
}
あなたのapp\build.gradle
apply plugin: 'com.Android.application'
repositories {
mavenCentral()
}
Android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
公式文書から:
Android Studioプロジェクトには、プロジェクト内のすべてのアプリケーションモジュールに共通の構成オプションを追加できるトップレベルのプロジェクトGradleビルドファイルが含まれています。各アプリケーションモジュールには、そのモジュール固有のビルド設定用の独自の
build.gradle
ファイルもあります。
<PROJECT_ROOT>\build.gradle
またはProject Build Fileは、プロジェクト全体そのため、グローバルプロジェクト構成に使用されます。典型的なProject Build Fileには以下が含まれます:
デフォルトでは、プロジェクトレベルのGradleファイルはbuildscriptを使用してGradleを定義しますrepositoriesおよびdependencies。これにより、さまざまなプロジェクトでさまざまなGradleバージョンを使用できます。サポートされるリポジトリには、JCenter、Maven Central、またはIvyが含まれます。この例では、ビルドスクリプトがJCenterリポジトリと、Gradleバージョン1.0.1のAndroidプラグインを含むクラスパス依存アーティファクトを使用することを宣言しています。
<PROJECT_ROOT>\app\build.gradle
またはModule Build Fileは、特定のモジュール用ですそのため、特定のモジュールレベルの設定に使用されます。 Module Build Fileには以下が含まれます。
- Android設定
- compileSdkVersion
- buildToolsVersion
- defaultConfigおよびproductFlavors
- applicationId、minSdkVersion、targetSdkVersion、テスト情報などのマニフェストプロパティ
- buildTypes
- デバッグ可能、ProGuard有効化、デバッグ署名、バージョン名サフィックス、テスト情報などのビルドプロパティ
- 依存関係
公式ドキュメントはこちらで読むことができます: