Gradle 提供了丰富的命令行工具和选项,熟练掌握这些命令可以大大提高开发效率。以下是 Gradle 常用命令的详细说明:
基本命令
查看帮助
bash# 查看帮助信息 ./gradlew help # 查看任务帮助 ./gradlew help --task build # 查看所有可用任务 ./gradlew tasks # 查看特定组的任务 ./gradlew tasks --group=build # 查看所有任务(包括隐藏任务) ./gradlew tasks --all
查看项目信息
bash# 查看项目信息 ./gradlew projects # 查看项目属性 ./gradlew properties # 查看依赖 ./gradlew dependencies # 查看特定配置的依赖 ./gradlew dependencies --configuration implementation # 查看特定项目的依赖 ./gradlew :app:dependencies
构建命令
基本构建
bash# 构建项目 ./gradlew build # 清理并构建 ./gradlew clean build # 跳过测试构建 ./gradlew build -x test # 只运行测试 ./gradlew test # 运行特定测试类 ./gradlew test --tests MyTest # 运行特定测试方法 ./gradlew test --tests MyTest.testMethod
构建变体
bash# 构建特定变体 ./gradlew assembleDebug ./gradlew assembleRelease # 构建所有变体 ./gradlew assemble # 构建特定模块 ./gradlew :module1:build ./gradlew :module2:build
任务执行
执行单个任务
bash# 执行特定任务 ./gradlew clean # 执行多个任务 ./gradlew clean build test # 执行任务并传递参数 ./gradlew build -Pprofile=production
任务依赖
bash# 查看任务依赖图 ./gradlew build --dry-run # 查看任务执行顺序 ./gradlew build --console=plain # 强制重新执行任务 ./gradlew build --rerun-tasks
性能优化命令
并行构建
bash# 启用并行构建 ./gradlew build --parallel # 指定并行线程数 ./gradlew build --parallel --max-workers=4 # 配置按需构建 ./gradlew build --configure-on-demand
构建缓存
bash# 启用构建缓存 ./gradlew build --build-cache # 清理构建缓存 ./gradlew cleanBuildCache # 使用离线模式 ./gradlew build --offline
配置缓存
bash# 启用配置缓存 ./gradlew build --configuration-cache # 清理配置缓存 ./gradlew cleanConfigurationCache
调试和诊断
详细输出
bash# 显示详细日志 ./gradlew build --info # 显示调试日志 ./gradlew build --debug # 显示堆栈跟踪 ./gradlew build --stacktrace # 显示完整堆栈跟踪 ./gradlew build --full-stacktrace
性能分析
bash# 生成构建报告 ./gradlew build --scan # 生成性能报告 ./gradlew build --profile # 查看构建时间 ./gradlew build --console=plain
依赖分析
bash# 查看依赖树 ./gradlew :app:dependencies # 查看特定依赖的详细信息 ./gradlew dependencyInsight --dependency spring-boot-starter-web # 查找依赖冲突 ./gradlew dependencies | grep -i conflict
持续构建
文件监控
bash# 启用持续构建 ./gradlew build --continuous # 指定监控间隔(秒) ./gradlew build --continuous --interval=5 # 持续测试 ./gradlew test --continuous
自定义任务执行
传递参数
bash# 传递项目属性 ./gradlew build -Pversion=1.0.0 # 传递系统属性 ./gradlew build -Dspring.profiles.active=production # 传递 JVM 参数 ./gradlew build -Dorg.gradle.jvmargs="-Xmx2048m" # 传递多个参数 ./gradlew build -Penv=prod -Dlog.level=debug
条件执行
bash# 只在特定条件下执行任务 ./gradlew build -PenableFeature=true # 使用环境变量 ENV=production ./gradlew build
插件管理
查看插件
bash# 查看已应用的插件 ./gradlew plugins # 查看插件详情 ./gradlew plugins --detail
更新插件
bash# 更新依赖 ./gradlew dependencyUpdates # 更新 Wrapper ./gradlew wrapper --gradle-version=8.0
多项目构建
项目选择
bash# 构建特定项目 ./gradlew :app:build # 构建多个项目 ./gradlew :app:build :library:build # 构建所有项目 ./gradlew build # 排除特定项目 ./gradlew build -x :module1:build
项目依赖
bash# 查看项目依赖关系 ./gradlew projects # 查看特定项目的依赖 ./gradlew :app:dependencies
Android 特定命令
Android 构建
bash# 构建 Debug 版本 ./gradlew assembleDebug # 构建 Release 版本 ./gradlew assembleRelease # 安装到设备 ./gradlew installDebug ./gradlew installRelease # 卸载应用 ./gradlew uninstallDebug ./gradlew uninstallRelease
Android 测试
bash# 运行单元测试 ./gradlew test # 运行仪器测试 ./gradlew connectedAndroidTest # 运行特定测试 ./gradlew test --tests com.example.MyTest
Android 其他命令
bash# 生成 Lint 报告 ./gradlew lint # 生成签名 APK ./gradlew assembleRelease # 生成 Bundle ./gradlew bundleRelease
发布和部署
发布到仓库
bash# 发布到本地仓库 ./gradlew publishToMavenLocal # 发布到远程仓库 ./gradlew publish # 发布特定模块 ./gradlew :app:publish
版本管理
bash# 查看版本 ./gradlew --version # 使用特定版本 ./gradlew build --gradle-version=8.0
常用选项
通用选项
bash# 指定设置文件 ./gradlew build --settings-file=custom-settings.gradle # 指定构建文件 ./gradlew build --build-file=custom-build.gradle # 指定 Gradle 用户主目录 ./gradlew build --gradle-user-home=/custom/path # 指定项目目录 ./gradlew build --project-dir=/custom/project
输出控制
bash# 控制台输出模式 ./gradlew build --console=plain ./gradlew build --console=auto ./gradlew build --console=rich # 颜色输出 ./gradlew build --color=always ./gradlew build --color=never ./gradlew build --color=auto # 安静模式 ./gradlew build --quiet
故障排除
清理和重试
bash# 清理构建 ./gradlew clean # 清理所有缓存 ./gradlew clean cleanBuildCache cleanConfigurationCache # 强制重新下载依赖 ./gradlew build --refresh-dependencies # 重新执行所有任务 ./gradlew build --rerun-tasks
网络问题
bash# 使用离线模式 ./gradlew build --offline # 配置代理 ./gradlew build -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080
最佳实践
1. 使用别名
bash# 在 shell 中创建别名 alias gb='./gradlew build' alias gt='./gradlew test' alias gc='./gradlew clean'
2. 使用脚本
bash# 创建构建脚本 #!/bin/bash ./gradlew clean build --parallel --build-cache
3. 使用配置文件
properties# gradle.properties org.gradle.parallel=true org.gradle.caching=true org.gradle.configureondemand=true org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
4. 使用 Gradle Daemon
bash# 启用 Gradle Daemon ./gradlew build --daemon # 停止所有 Daemon ./gradlew --stop # 查看运行中的 Daemon ./gradlew --status
常见问题解决
1. 内存不足
bash# 增加 JVM 内存 ./gradlew build -Dorg.gradle.jvmargs="-Xmx4096m -XX:MaxMetaspaceSize=1024m"
2. 构建缓慢
bash# 启用并行构建和缓存 ./gradlew build --parallel --build-cache --configuration-cache
3. 依赖冲突
bash# 查看依赖树 ./gradlew dependencies # 使用依赖分析工具 ./gradlew dependencyInsight --dependency <dependency-name>
4. 任务不执行
bash# 强制重新执行任务 ./gradlew build --rerun-tasks # 查看任务状态 ./gradlew build --info