回答:
<PROJECT_ROOT>\app\build.gradle
アプリモジュールに固有です。
<PROJECT_ROOT>\build.gradle
である「トップレベルのビルドファイル」は、すべてのサブプロジェクト/モジュールに共通する設定オプションを追加することができます。
プロジェクトで別のモジュールを使用する場合、ローカルライブラリとして別のbuild.gradle
ファイルを作成します。
<PROJECT_ROOT>\module\build.gradle
以下のために例あなたのトップレベルのファイルで、あなたはこれらの共通プロパティを指定することができます。
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
}
build.gradle
ファイルの存在がビルドをトリガーするためには必須?また、最上位のビルドファイルはサブレベルのファイルを呼び出しますか?(その証拠はありませんが)
rootProject.ext.compileSdkVersion
構成は非常に有益です。
公式ドキュメントから:
Android Studioプロジェクトには、プロジェクト内のすべてのアプリケーションモジュールに共通の構成オプションを追加できるトップレベルのプロジェクトGradleビルドファイルが含まれています。各アプリケーションモジュールには、その
build.gradle
モジュールに固有のビルド設定用の独自のファイルもあります。
<PROJECT_ROOT>\build.gradle
または、プロジェクトビルドファイルはプロジェクト全体用であるため、グローバルプロジェクト構成に使用されます。一般的なプロジェクトビルドファイルには、次のものが含まれています。
デフォルトでは、プロジェクトレベルのGradleファイルはbuildscriptを使用して、Gradle リポジトリと依存関係を定義します。これにより、さまざまなプロジェクトでさまざまなGradleバージョンを使用できます。サポートされるリポジトリーには、JCenter、Maven Central、またはIvyが含まれます。この例では、ビルドスクリプトがJCenterリポジトリと、Gradleバージョン1.0.1のAndroidプラグインを含むクラスパス依存関係アーティファクトを使用することを宣言しています。
<PROJECT_ROOT>\app\build.gradle
または、モジュールビルドファイルは特定のモジュール用であるため、特定のモジュールレベルの構成に使用されます。A モジュールのビルドファイルには以下が含まれています。
- アンドロイド設定
- compileSdkVersion
- buildToolsVersion
- defaultConfigおよびproductFlavors
- applicationId、minSdkVersion、targetSdkVersion、テスト情報などのマニフェストプロパティ
- buildTypes
- デバッグ可能、ProGuard有効化、デバッグ署名、バージョン名サフィックス、テスト情報などのビルドプロパティ
- 依存関係
ここで公式ドキュメントを読むことができます: