Gradle常用命令

Gradle 的常用命令主要围绕执行构建任务查看项目信息调试排查三大场景。在使用时,更推荐使用项目自带的 Gradle Wrapper(即 ./gradlewgradlew.bat)来代替全局的 gradle 命令,这样可以确保所有开发成员使用统一的 Gradle 版本,避免环境差异引发的问题。

下面是按功能分类的常用命令概览:

🚀 核心构建命令

这些命令负责项目的编译、测试、打包等核心构建环节。

命令 作用 常用场景
./gradlew build 完整构建,会执行编译、测试、检查并最终打包产出。 提交代码或发布前的全面验证。
./gradlew clean 清理构建目录(通常是 build 文件夹),删除所有编译输出。 当遇到奇怪构建错误时,先执行此命令来清理缓存和旧文件。
./gradlew assemble 执行组装任务,编译并打包代码,但不会运行测试 只想生成产出包(如JAR、APK),跳过耗时的测试过程。
./gradlew check 执行所有检查任务,通常包括运行测试和代码质量检查。 专注于验证代码质量,不关心打包产出。
./gradlew run 运行应用程序(需要应用了 application 插件)。 快速启动一个Java或JVM应用的主类。

🔍 信息查询命令

这些命令帮助你了解项目结构、可用的任务、依赖关系等。

命令 作用 常用场景
./gradlew tasks 列出当前项目所有可用的任务,按组分类显示。 刚接触一个项目时,用它来了解项目支持哪些构建操作。
./gradlew tasks --all 显示更详细的任务列表,包括更多内部或生命周期任务。 深入查看构建流程中的所有任务。
./gradlew projects 以层级结构列出多项目构建中的所有子项目 了解大型项目的模块划分。
./gradlew dependencies 显示项目的依赖关系树,按不同配置(如 implementation)细分。 排查依赖冲突,查看哪些库被引入及版本。
./gradlew help --task <任务名> 显示特定任务的详细信息,包括它的路径、类型和描述。 想了解某个任务的详细用途或所属组时使用。
./gradlew -v 显示 Gradle 版本信息,包括Groovy、Kotlin等工具的版本。 确认当前项目使用的Gradle版本。

🛠️ 高级与调试选项

这些选项可以附加到任何任务后面,用来控制构建行为或获取更多信息。

选项 作用 常用场景
-x, --exclude-task 从执行中排除指定任务,例如 ./gradlew build -x test 构建时跳过测试,加快构建速度。
--continue 发生任务失败后继续构建,而不是立刻停止。 希望在一次构建中看到所有可能出现的错误,方便一次性修复。
--rerun-tasks 强制重新运行所有任务,忽略任何“最新(UP-TO-DATE)”的缓存检查。 怀疑增量编译有问题时,强制完整重新构建。
--info--debug 分别输出信息级调试级的详细日志。 构建失败且信息不足时,用更详细的日志定位问题。
--stacktrace 当构建失败时,打印完整的异常堆栈信息 定位错误代码行或根本原因的必备选项。
--scan 构建结束后生成一份详细的、可交互的在线构建报告 深度分析构建性能、依赖和失败原因,对复杂问题非常有效。
--dry-run-m 干运行,仅列出将被执行的任务,但不执行任何操作。 检查命令行中任务匹配和依赖关系是否符合预期。
--continuous-t 持续构建模式,当检测到文件变更时自动重新构建。 开发过程中希望修改代码后自动触发构建。

💡 常用组合示例

在实际开发中,这些命令常组合使用:

  • 日常开发调试./gradlew assembleDebug (Android项目) 或 ./gradlew run (Java应用)。
  • 完整发布前检查./gradlew clean build --stacktrace
  • 解决缓存导致的问题./gradlew clean build --rerun-tasks
  • 排查依赖冲突./gradlew :app:dependencies > deps.txt (将依赖树导出到文件分析)。
  • 清理编译产物并打包jar./gradlew clean jar

发表回复