Skip to content

构建日志与调试技巧

当构建报错时,新手往往只会看错误提示的最后一行。专家则会利用命令行参数进行“深度扫描”。

1. 日志级别速查

参数描述用途
-qQuiet仅显示错误。
-iInfo显示重要信息(推荐,排查缓存失效首选)。
-dDebug显示所有细节(日志量极其庞大,慎用)。
-sStacktrace显示部分堆栈。
-SFull Stacktrace显示完整堆栈(定位 Gradle 插件 Bug 必备)。

2. 任务执行分析

想知道哪些任务在运行,为什么运行?

  • --dry-run: 模拟运行,不真正执行 Task。用于检查任务依赖链。
  • --profile: 生成一份 HTML 报告(位于 build/reports/profile),列出每个阶段的耗时。

3. 自定义打印日志

规范输出

不要只用 println。使用 logger 可以让你的插件日志看起来更专业。

kotlin
logger.lifecycle(">>> 正在处理第 \${count} 个文件") // 默认显示
logger.info("详细调试信息") // 只有加了 -i 才会显示
logger.warn("配置警告!") // 黄色显示

4. 解决任务冲突

如果你不确定某个任务是从哪个插件引入的:

bash
./gradlew help --task <taskName>

它会告诉你该任务的类型、描述以及定义它的项目。