前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我想调试下build.gradle | Gradle 调试

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

作者头像
逮虾户
发布于 2022-03-06 01:50:21
发布于 2022-03-06 01:50:21
1K0
举报
文章被收录于专栏:逮虾户逮虾户

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相关的知识。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android 自定义 Lint 调试
1. 点击 Edit Configurations 2. 点击 + 号 Add New Configuration 按钮 3. 选择 Remote 4. 没有特别情况,可以直接采用默认模板,填写配置名
夏洛克的猫
2021/01/27
1K0
Android 自定义 Lint 调试
10--Gradle进阶 - Gradle任务的执行
在前面的篇章中,我们尝试执行了 gradle 的 task,但是不清楚有哪些语法,下面来介绍一下。
Devops海洋的渔夫
2023/09/01
5250
10--Gradle进阶 - Gradle任务的执行
Gradle 中的Task
项目实质上是 Task 对象的集合。一个 Task 表示一个逻辑上较为独立的执行过程,比如编译 Java 源代码,拷贝文件, 打包 Jar 文件,甚至可以是执行一个系统命令。另外,一个 Task 可以读取和设置 Project 的 Property 以完成特定的操作。
鱼找水需要时间
2023/02/16
1.3K0
Gradle 中的Task
【Android Gradle 插件】Gradle 基础配置 ⑥ ( Android工程 Gradle 常用命令 | gradlew 可执行文件 | 查看帮助文档 | 查看应用依赖 )
在 【Android Gradle 插件】Gradle 基础配置 ③ ( 生成 Gradle Wrapper 配置 | 分析生成的 gradle-wrapper.properties 配置文件 ) 博客中 , 执行
韩曙亮
2023/03/30
1.6K0
【Android Gradle 插件】Gradle 基础配置 ⑥ ( Android工程 Gradle 常用命令 | gradlew 可执行文件 | 查看帮助文档 | 查看应用依赖 )
Gradle入门基础一
最近项目中使用到了Gradle所以就抓紧学习了一下。以下资料来自互联网,属于个人整理。图片如有侵权会删除
@派大星
2023/06/28
2800
Gradle入门基础一
gradle中使用嵌入式(embedded) tomcat, debug 启动
在gradle项目中使用embedded tomcat。 最开始部署项目需要手动将web项目打成war包,然后手动上传到tomcat的webapp下,然后启动tomcat来部署项目。这种手动工作通常还要指定端口,指定项目位置等,这些操作是重复的操作。 开发的时候,ide自然想到集成这些功能,于是都是server模块,设置好参数就可以run server,测试了。个人操作的时候确实挺方便的,然而当团队协作的时候,每个人都要手动去设置这些参数,而且大家或许还在使用着各种各样的idea。eclipse和idea的
Ryan-Miao
2018/03/13
2.1K0
gradle中使用嵌入式(embedded) tomcat, debug 启动
Android Gradle 入门
Gradle是一款非常优秀的构建系统工具,它的DSL基于Groovy实现,可以让你很方便的通过代码控制这些DSL来达到你构建的目的,其构建的大部分功能都是通过插件的方式来实现,所以非常灵活方便,如果内置插件不能满足你的需求你可以自定义自己的插件。
飞雪无情
2018/08/28
9280
使用注解自动生成代码
考虑这样一种场景:我们是一个汽车生产商,我们生产各种品牌的汽车,比如宝马、奔驰、奥迪等等,为了面向对象开发,我们定义一个基类 Car
GeeJoe
2021/12/08
1K0
使用注解自动生成代码
Gradle 进阶学习 之 Task
Gradle 项目的生命周期分为三大阶段: Initialization -> Configuration -> Execution. 每个阶段都有自己的职责。
叫我阿杰好了
2024/04/25
3480
Gradle 进阶学习 之 Task
xmake-gradle 首发, 集成xmake快速构建Android JNI程序
目前在 gradle 中做 android jni 相关集成开发,有两种方式,通过 ndkBuild 或者 CMake 来支持,gradle 也内置了这两工具的集成
ruki
2020/04/22
1.1K0
还没自定义过 Gradle 插件的要学了
Gradle 本质上是高度模块化的构建逻辑,便于重用并与他人分享。例如,我们熟悉的 Android 构建流程就是由 Android Gradle Plugin 引入的构建逻辑。在这篇文章里,我将带你探讨 Gradle 插件的使用方法、开发步骤和技巧总结。
用户9995743
2022/09/26
2K1
还没自定义过 Gradle 插件的要学了
Gradle初探
task:构建脚本定义一个任务,并取名。doLast:构建脚本给任务添加一个动作Action,在task执行完毕后,要回调doLast这部分闭包的业务代码逻辑或者叫回调实现。
音视频开发进阶
2020/07/20
6940
第一个 Gradle 脚本及简单命令
task 代表一个任务 doLast 代表 task 最后执行的一个 action doLast 可以使用 <<更简单的来表达
三产
2021/01/12
7580
滴滴开源的APM方案Dokit接入
DoKit是一款面向泛前端产品研发全生命周期的效率平台,目前支持诸如Android、 iOS、小程序、Flutter和Web等多个平台。并且,随着dokit.cn平台端的推出,也标志着DoKit已经从单纯的效率工具正式进入了效率工具平台的阶段。与此同时,DoKit还在不断的更新,以提供更多的实用功能。
xiangzhihong
2022/10/31
1.4K0
滴滴开源的APM方案Dokit接入
Android Gradle源码分析
最简单的方式如下: 1.配置 gradle.properties 比较方便的做法是配置全局的 gradle.properties,这样对所有 Gradle 工具都适用,配置文件位于 ~/.gradle/gradle.properties,在 gradle.properties 文件中加上 org.gradle.jvmargs 属性:
老马的编程之旅
2022/06/23
1.3K0
Android Gradle源码分析
Android Gradle 编译常见优化手段
每个团队或许都有那么一个或两个比较关注工程编译耗时的同学,那么这篇文章就是分享给你的。
sickworm
2024/08/06
7590
Android Gradle 编译常见优化手段
读书笔记--Android Gradle权威指南(下)前言笔记后记
前言 最近看了一本书《Android Gradle 权威指南》,收获挺多,就想着来记录一些读书笔记,方便后续查阅。 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南(上) 上一篇中我们讲了: Groovy 基础 Android 项目中的 Gradle 2.1 gradle/wrapper 目录 2.2 gradlew.bat 文件 2.3 setting.gradle 文件 2.4 build.gradle 文 Gradle 基础 3.1 task 概念 3.2 gra
请叫我大苏
2018/06/13
7530
Android&Kotlin编译速度原理剖析
由于内容比较多,所以拆分了两部分来讲解。欢迎点赞和关注给作者一些动力感谢感谢。如果有任何的想法和创意都可以直接和我联系讨论。整体内容主要分为六部分来介绍:
Rouse
2021/05/28
2K0
Android&Kotlin编译速度原理剖析
教你编译调试Elasticsearch 6.3.2源码
想深入理解 Elasticsearch,阅读它的源码是很有必要的,一来可以了解它内部的具体实现,有助于调优,二来可以了解优秀开源项目的代码架构,提高我们的代码架构能力等
小旋锋
2019/01/21
2.2K0
Gradle Plugin for Android Development User Guide 1
Gradle Plugin for Android Development User Guide (1)
宅男潇涧
2018/08/01
8730
Gradle Plugin for Android Development User Guide 1
相关推荐
Android 自定义 Lint 调试
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档