摘要:每个子模块(如app、library)有自己的build.gradle,配置模块特定的构建逻辑。
gradle 构建文件(通常为 build.gradle 或 build.gradle.kts)是用于配置项目构建过程的核心文件。以下是 Gradle 构建文件的主要组成部分和功能说明:
1. 项目级构建文件 (build.Gradle)
位于项目根目录,配置全局构建逻辑和子模块共享的依赖。
常见配置项:
Plugins(插件)声明项目使用的插件(如 Java、Android、Spring Boot 等):
groovy
plugins {
id 'java' // Java 项目
id 'application' // 可执行应用
id 'com.android.application' // Android 应用
}
Repositories(仓库)定义依赖项的来源仓库(如 Maven Central、Google 或 JCenter):
groovy
repositories {
mavenCentral
jcenter
}
Dependencies(依赖)声明项目依赖的第三方库或模块:
groovy
dependencies {
implementation 'com.google.guava:guava:31.1-jre' // 主代码依赖
testImplementation 'junit:junit:4.13.2' // 测试代码依赖
compileOnly 'org.projectlombok:lombok:1.18.24' // 仅编译时依赖
}
自定义任务(Tasks)可添加自定义构建逻辑:
groovy
task cleanBuildDir(type: Delete) {
delete fileTree('build') // 清理构建目录
}
全局属性定义全局变量或版本号,便于复用:
groovy
ext {
javaVersion = '17'
springBootVersion = '3.0.0'
}
2. 模块级构建文件 (build.gradle)
每个子模块(如 app、library)有自己的 build.gradle,配置模块特定的构建逻辑。
常见配置项:
Android 项目特有配置(如 android 块):groovy
android {
compileSdk 33
defaultConfig {
applicationId "com.example.app"
minSdk 21
targetSdk 33
}
}
Java 项目配置:groovy
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
3. 设置文件 (settings.gradle)
位于项目根目录,定义项目包含的模块和构建逻辑。
常见配置:
模块包含声明:groovy
include ':app', ':library' // 包含 app 和 library 子模块
自定义仓库或插件管理:groovy
pluginManagement {
repositories {
gradlePluginPortal
maven { url 'https://maven.aliyun.com/repository/public' }
}
}
4. Gradle 属性文件 (gradle.properties)
配置全局属性(如 JVM 参数、代理设置、Android 构建优化等)。
示例:
properties
# JVM 内存配置
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# 启用 Gradle 构建缓存
org.gradle.caching=true
# Android 构建优化
android.useAndroidX=true
5. 依赖管理
依赖范围:Ø implementation: 主代码依赖(不传递到其他模块)。
Ø api: 主代码依赖(传递到其他模块)。
Ø testImplementation: 测试代码依赖。
Ø compileOnly: 仅编译时依赖。
Ø runtimeOnly: 仅运行时依赖。
依赖版本统一管理:groovy
// 在根 build.gradle 中定义版本号
ext {
junitVersion = '5.8.2'
}
// 子模块中使用
dependencies {
testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"
}
6. Gradle Wrapper (gradlew)
通过 gradle-wrapper.properties 指定项目使用的 Gradle 版本,确保构建一致性:
properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
7. 常见问题解决
依赖冲突:使用 ./gradlew dependencies 查看依赖树。构建缓存清理:运行 ./gradlew clean。加速构建:在 gradle.properties 中启用并行和缓存:properties
org.gradle.parallel=true
org.gradle.caching=true
通过合理配置 Gradle 文件,可以高效管理依赖、编译选项和构建流程。建议结合官方文档(Gradle User Manual)进一步学习。
来源:老客数据一点号