我想调试下build.gradle | Gradle 调试

2022-03-06 09:50:21 浏览数 (1)

theme: smartblue

前言

我在写gradle plugin的时候,碰到过两个大难题,所见即所得,当场运行我们的代码。这部分我们之前已经介绍过。协程 路由 组件化 1 1 1>3

另外一个就是调试了插件或者build.gralde,这期把我当前的调试方式介绍给大家。

最近发现了森哥(Booster)作者,其实在booster的文档中也有对应教程,但是和我学会的貌似有点不一样,有兴趣的可以去看看。

调试 Gradle Plugin 森哥牛逼 破

准备工作

下面来介绍下我的方式,首先是前置的准备工作。

  1. 找到edit configuration
  1. 添加一个新的configuration
  1. 选择remote
  1. 改个合理的名字 没啥
  1. 一定要在debug的时候选择这个模式哦

开启调试模式

首先我们简单的输入一下命令行

./gradlew xxxxx(大概率是Avengers Assemble) -Dorg.gradle.debug=true --no-daemon

这个时候我们的命令行会进入锁定状态,不知道的同学还以为是程序卡主了。

然后这个时候我们需要做的是切换到remote的项目中去,然后点击图片中的debug按钮。

高能预警 一定要注意第五步哦。

当我们按下debug按钮时,原来终止的命令行就会继续执行,然后当运行到我们的代码块时,就能调试我们当前的代码了。

当然我们还可以拿来调试很多别的东西,比如说lintcompiler(kapt)kspbuild.gralde等等。

ksp支持

根据ksp官方issue,以及调试模式要额外添加参数

小贴士 ksp的debug模式的命令行要多一点 --no-daemon -Dorg.gradle.debug=true -Dkotlin.compiler.execution.strategy=in-process

打脸了 更简单的版本

根据评论区大佬到回复哦,更简单的调试版本,新版的Android studio在这部分进行了调整优化,步骤如下。

虽然我可能还是会选择旧的。略微有点看看的,也不知道是错觉还是咋了。

  1. 点开右边的gradle
  1. 找到你想要的task 点下debug

如果gradle task 不见了 可以参考下图 把勾选去掉

听说你们想要错误堆栈

有的同学说在编译的时候gradle其实已经挂了,这个时候不显示堆栈,很难帮助定位问题。

其实很简单哦,只要在命令行后面加个-s 就行了。

./gradlew xxxxx(大概率是Avengers Assemble) -s

结尾

最后先附上参考资料 Android gradle 脚本断点调试

再次感谢大佬教会了我。本文这次主要以图片内容为主,教会大家debug就可以方便大家更好的去学习gradle相关的知识。

立正挨打,哈哈哈 ,更新下文章内容

0 人点赞