为什么 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 {
//.....
}