作為一個(gè)Android / Java開發(fā)人員,你可能會(huì)使用自定義注解來做一些代碼生成的工作。Java API已經(jīng)提供了掃描源碼并解析注解的框架,你可以繼承AbstractProcessor類來提供實(shí)現(xiàn)自己的解析注解邏輯。
在開發(fā)時(shí),你可能對(duì)如何調(diào)試自己的AbstractProcessor有些一籌莫展。本文將介紹如何使用Android Studio和gradle來調(diào)試你自己的AbstractProcessor。
第一步,在你代碼中對(duì)init()方法或process()方法設(shè)置代碼斷點(diǎn)!
設(shè)置斷點(diǎn)
第二步,設(shè)置gradle daemon端口和JVM參數(shù)。把下面兩行加入到你的gradle.properties文件。
我的gradle.properties文件在哪里?
org.gradle.daemon=true
org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
在命令行中運(yùn)行g(shù)radle daemon來啟動(dòng)守護(hù)線程。
gradle --daemon
第三步,在Android Studio建立Remote Debugger并運(yùn)行它。
Remote Debugger 配置
我們?cè)谶@里使用默認(rèn)設(shè)置,IP:localhost,端口:5005。一旦你完成并運(yùn)行它,那它就會(huì)連接到daemon線程中了。
最后我們用gradle命令來運(yùn)行構(gòu)建。
gradle clean assembleDebug
既然我們已經(jīng)啟動(dòng)了守護(hù)線程,Remote Debugger將觸發(fā)斷點(diǎn)并掛起構(gòu)建運(yùn)行。完成!
感謝以下文章!