前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从精准化测试看ASM在Android中的强势插入-Plugin调试

从精准化测试看ASM在Android中的强势插入-Plugin调试

作者头像
用户1907613
发布2021-07-19 10:30:34
9410
发布2021-07-19 10:30:34
举报
文章被收录于专栏:Android群英传Android群英传

Gradle作为一个脚本工具,在开发的过程中,最痛苦的莫过于「调试」,大部分时候,我们都是通过Log的方式来进行调试,在编译过程中,可以很清楚的看见执行过程,同时也能看到系统的其它执行的Task。

Logging

Logging是Gradle提供的日志工具,它的使用非常简单,我们可以对其进行下封装。

代码语言:javascript
复制
fun log(log: String) {
    Logging.getLogger(MyPlugin::class.java).lifecycle(log)
}

通过getLogger就可以获取Logging的实例,它和Android原生的Log类似,也有debug、info、error等日志级别,大家可以根据自己的需求来调用。

断点调试

Gradle插件的断点调试不能像普通代码那样调试,需要借助Android Studio的Remote调试功能。

首先,需要在Android Studio中创建一个Remote调试器,在运行标签上点击「Edit Configuration」,再点击「+」新增一个调试类型,选择Remote,将其命名为「plugin_debug」(当然,其它名字也行),如下所示。

image-20210706105500934

接下来,在当前项目的终端下,输入如下指令:

代码语言:javascript
复制
➜  ASMTest git:(master) ./gradlew assembleDebug -Dorg.gradle.debug=true --no-daemon

通过这个指令,就可以让Gradle在编译过程中等待Plugin Attach到Remote上。

最后,在运行标签上选择刚刚创建的「plugin_debug」选项,然后点击debug按钮执行指令即可等待断点命中了。

向大家推荐下我的网站 https://xuyisheng.top/ 点击原文一键直达

专注 Android-Kotlin-Flutter 欢迎大家访问

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 群英传 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Logging
  • 断点调试
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档