Gradle 简介

Table of Contents

Gradle 是一种强大的构建工具,广泛应用于 Java、Kotlin、Groovy、Android 等生态系统。它以 声明性 和 灵活性 著称,使用基于 Groovy 或 Kotlin 的 DSL(领域特定语言)来定义构建脚本。

Gradle 可以用于以下任务:
• 编译代码
• 运行测试
• 打包应用程序
• 管理依赖
• 部署应用

快速入门

  1. 安装 Gradle
    • 手动安装:

    1. 下载 Gradle:https://gradle.org/releases/
    2. 解压后配置环境变量 GRADLE_HOME 和 PATH。
      • 使用包管理器:
      • MacOS: brew install gradle
      • Ubuntu: sudo apt install gradle
      • Windows: 使用 choco install gradle

验证安装:

gradle -v

  1. 创建一个项目
    1. 初始化项目:

gradle init

选择项目类型:
• Java 应用
• Kotlin 应用
• Groovy 应用
• 基础项目

2.  目录结构:

project-root/
├── build.gradle // 构建脚本
├── settings.gradle // 配置项目名称等
├── src/
├── main/
│ └── java/ // 源代码
├── test/
└── java/ // 测试代码

  1. 基本配置
    • build.gradle 是核心构建脚本,可以用 Groovy 或 Kotlin 编写。

简单的 Java 项目示例:

plugins {
id 'java'
}

group = 'com.example'
version = '1.0'

repositories {
mavenCentral()
}

dependencies {
// 添加依赖
implementation 'org.apache.commons:commons-lang3:3.12.0'
testImplementation 'junit:junit:4.13.2'
}

配置说明:
• plugins: 应用插件(例如 java 插件)。
• group 和 version: 项目分组和版本号。
• repositories: 定义依赖下载的仓库。
• dependencies: 管理项目依赖。

  1. 常用 Gradle 命令

命令 功能
gradle tasks 查看可用任务
gradle build 构建项目(编译+打包)
gradle clean 清理构建产物
gradle test 运行测试
gradle dependencies 查看依赖树
gradle assemble 只打包不运行测试
gradle run 运行应用(需 application 插件)

Gradle 核心概念

  1. 插件 (Plugins)

Gradle 的功能通过插件扩展。常用插件有:
• java:用于构建 Java 项目。
• application:用于运行应用程序。
• kotlin:支持 Kotlin。
• groovy:支持 Groovy。
• war:用于生成 Web 应用 WAR 包。

示例:

plugins {
id 'java'
id 'application'
}

application {
mainClass = 'com.example.Main'
}

  1. 依赖管理

Gradle 使用 dependencies 块管理项目的依赖项。
• 配置依赖类型:
• implementation: 编译期依赖。
• testImplementation: 测试依赖。
• runtimeOnly: 运行时依赖。

示例:

dependencies {
implementation 'org.apache.commons:commons-lang3:3.12.0'
testImplementation 'junit:junit:4.13.2'
runtimeOnly 'mysql:mysql-connector-java:8.0.29'
}

•   仓库配置:

Gradle 支持多个仓库,例如:

repositories {
mavenCentral()
google() // Android 项目
jcenter()
}

  1. 多项目构建

Gradle 支持构建多模块项目。

目录结构:

multi-project/
├── settings.gradle
├── app/
│ └── build.gradle
├── library/
└── build.gradle

配置 settings.gradle:

rootProject.name = 'multi-project'
include 'app', 'library'

跨模块依赖:

dependencies {
implementation project(':library')
}

  1. 自定义任务

Gradle 支持编写自定义任务以执行特定操作:

tasks.register('hello') {
doLast {
println 'Hello, Gradle!'
}
}

运行:

gradle hello

Gradle 与 Android 开发

Android Studio 默认使用 Gradle 构建工具。以下是 Android 项目中的常用配置:

build.gradle (项目级):

buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.0.2'
}
}

build.gradle (模块级):

plugins {
id 'com.android.application'
id 'kotlin-android'
}

android {
compileSdk 34

defaultConfig {
    applicationId "com.example.app"
    minSdk 21
    targetSdk 34
    versionCode 1
    versionName "1.0"
}

}

dependencies {
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
}

Gradle 的高级用法

  1. 动态版本依赖

可以使用动态版本号:

dependencies {
implementation 'com.google.guava:guava:30.+'
}

  1. 构建变体

适用于 Android 项目,支持定义多种构建配置:

android {
buildTypes {
debug {
applicationIdSuffix ".debug"
}
release {
minifyEnabled true
}
}
}

  1. 自定义属性

使用 ext 定义全局变量:

ext {
kotlin_version = '1.9.0'
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

学习资源

  1. 官方文档:https://docs.gradle.org/
  2. Gradle 用户指南:https://docs.gradle.org/current/userguide/userguide.html
  3. Gradle 教程:
    • Gradle 初学者指南:https://gradle.org/guides/
    • Android 官方 Gradle 文档:https://developer.android.com/studio/build

通过掌握以上内容,你可以快速入门 Gradle,并使用它来构建和管理各种项目! 🚀

Comments |0|

Legend *) Required fields are marked
**) You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Category: 似水流年