為什麼 Android Studio 專案中有兩個 build.gradle 檔案
<PROJECT_ROOT>\app\build.gradle
特定於 app 模組。
<PROJECT_ROOT>\build.gradle
是一個頂級構建檔案,你可以在其中新增所有子專案/模組共有的配置選項。
如果你在專案中使用另一個模組,作為本地庫,你將擁有另一個 build.gradle 檔案:<PROJECT_ROOT>\module\build.gradle
頂級構建檔案
位於根專案目錄中的頂級 build.gradle 檔案定義了適用於專案中所有模組的構建配置。預設情況下,頂級構建檔案使用 buildscript {} block
來定義專案中所有模組通用的 Gradle 儲存庫和依賴項。以下程式碼示例描述了在建立新專案後你可以在頂級 build.gradle 中找到的預設設定和 DSL 元素。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.google.gms:google-services:3.0.0'
}
}
ext {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
}
模組級構建檔案
位於每個 <project>/<module>/
目錄中的模組級 build.gradle 檔案允許你為其所在的特定模組配置構建設定。配置這些構建設定允許你提供自定義打包選項,例如其他構建型別和產品風格,並覆蓋 main/ app
清單或頂級 build.gradle
檔案中的設定。
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
dependencies {
//.....
}