Debugging Gradle Plugin
Debugging via IDE
在 IDE 右侧的 Gradle 窗口中,选中要调试的 TasK,右键菜单选择 Debug 直接开始调试,如下图所示:
Debugging via Command Line
- Runing Task in Debug Mode
$ ./gradlew myTask -Dorg.gradle.debug=true
1
Then, the Gradle daemon procee will wait for you to attach a debugger at localhost:5005
by default.
Attaching Gradle Daemon Process
然后,选择端口为
5005
的进程,如下图所示:
Debugging via JVM args
在开发插件的过程,如果要细致入微的了解 Android Gradle Plugin 是如何工作的,那么,最好的办法就是调试它,跟着断点一步一步看它是如何运行的,具体的调试步骤如下:
Configuring
gradle.properties
比较方便的做法是配置全局的
gradle.properties
,这样对所有 Gradle 工具都适用,配置文件位于~/.gradle/gradle.properties
,在gradle.properties
文件中加上org.gradle.jvmargs
属性:org.gradle.jvmargs=-XX:MaxPermSize=4g -XX:+HeapDumpOnOutOfMemoryError -Xmx4g -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006
1Starting Gradle Daemon
$ ./gradlew --stop # 先停掉 daemon 进程 $ ./gradlew --daemon # 启动 daemon 进程
1
2Attaching Gradle Daemon Process
然后,选择 Gradle Daemon 进程,如下图所示:
Setting Break Point
在相应的代码行放上断点,如果 Gradle Daemon 进程已经 Attach 上了的话,断点的图标会显示为绿色,如下图所示:
Running Task
在命令行中执行相应的 Task,例如:
$ ./gradlew assembleDebug
1