(一)概述
build.gradle是一个用于配置和构建Android项目的Gradle构建脚本文件。它位于项目的根目录和每个模块的目录中,并包含了项目的构建配置信息。
在Android项目中,通常有两个build.gradle文件:
- 项目级别的build.gradle:位于项目的根目录中,用于配置整个项目的构建设置。它包含了项目的构建脚本和全局配置信息,例如构建工具版本、仓库地址、插件等。
- 模块级别的build.gradle:位于每个模块的目录中,用于配置该模块的构建设置。每个模块都有自己的build.gradle文件,用于指定模块的依赖项、构建类型、签名配置等。
(二)例子
下面是一个典型的build.gradle文件的结构和常见配置项:
// 项目级别的build.gradle文件
// 构建脚本的配置
buildscript {
repositories {
// 仓库地址
google()
jcenter()
}
dependencies {
// 构建工具插件
classpath 'com.android.tools.build:gradle:版本号'
}
}
// 全局配置
allprojects {
repositories {
// 仓库地址
google()
jcenter()
}
}
// 模块级别的build.gradle文件
// 应用插件
apply plugin: 'com.android.application'
// Android构建配置
android {
// 编译SDK版本
compileSdkVersion 版本号
// 构建工具版本
buildToolsVersion 版本号
// 默认配置
defaultConfig {
// 应用ID
applicationId "com.example.myapp"
// 最小支持的Android版本
minSdkVersion 版本号
// 目标Android版本
targetSdkVersion 版本号
// 版本号
versionCode 1
// 版本名
versionName "1.0"
}
// 构建类型
buildTypes {
release {
// 发布版本的配置
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
// 调试版本的配置
applicationIdSuffix ".debug"
versionNameSuffix "-DEBUG"
}
}
// 签名配置
signingConfigs {
release {
// 发布版本的签名配置
storeFile file("my-release-key.jks")
storePassword "password"
keyAlias "my-key-alias"
keyPassword "password"
}
}
// 依赖项配置
dependencies {
// 模块的依赖项
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:版本号'
implementation 'com.google.code.gson:gson:版本号'
}
}