Gradle断点调试---调试Android-Builder源码

断点调试是阅读源码的一种好方法,能便于理解应用的执行流程,下面介绍如何在AS中调试Android Build Tool代码的方法。

1. 开启Gradle调试

网上方案比较杂,这里介绍自己亲测可用的一种方案,基于Android Studio 3.0。

1.1 配置remote debug

Android Studio中按照如下步骤操作: Menu → Run → Edit Configurations... → Add New Configuration → Remote → 自定义配置name → host: localhost → port: 5005 → OK

1.2 执行gradle构建任务

在Terminal中执行需要调试的任务,同时携带-Dorg.gradle.daemon=false -Dorg.gradle.debug=true作为参数,如下:

./gradlew <任务名> -Dorg.gradle.daemon=false -Dorg.gradle.debug=true
复制代码

之后可以看到Terminal中执行被阻塞,并输出如下:

$ gradle assembleDebug -Dorg.gradle.daemon=false -Dorg.gradle.debug=true
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/3.3/userguide/gradle_daemon.html.
> Starting Daemon
复制代码

1.3 设置断点

在需要调试的地方设置断点,注意,**.gradle脚本是无法调试的*。

1.4 启动debug

执行之前配置的remote debug。

2. 调试Android Builder

要在IDE中设置断点,关键需要让IDE链接到源代码,这里有个小技巧。 在项目的根目录下创建一个名为buildSrc的目录,这个目录是用来编写gradle的构建脚本的,在buildSrc目录下创建文件build.gradle,并添加如下代码:

repositories {
    jcenter()
}

dependencies {
    compile 'com.android.tools.build:gradle:2.3.3'
}
复制代码

这里在buildScr中添加了Android Build Tool的依赖,具体依赖什么版本,由你所使用的Build Tool版本决定,既根目录中build.gradle中设置的版本。 然后Sync Gradle。 现在即可在Project视图下的External Liberaries中看到Android Build Tool的源码了。

开始研究Android的构建系统吧!

Gradle基础 - 构建生命周期和Hook技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值