編寫最基本的Gradle外掛

-l囧l-發表於2017-11-06

建立

新建Android Module刪掉除build.gradle以為的其他檔案,並建立如下結構目錄

image.png
image.png

其中plugin_component.properties的檔名即為我們在Module中apply 引入外掛的名字

plugin_component.properties

image.png
image.png

implementation-class 指向外掛入口檔案 千萬注意不要有多餘的空格 否則會找不到相關類(犯過錯 找好久)

ComBuild

image.png
image.png

ComBuild繼承Plugin類,至於具體要實現的功能就得看你的需求了。
好了到此,Gradle外掛的簡單建立到此就結束了,下面看下發布到倉庫。

釋出

釋出之前我先看下plugin_component的build.gradle配置檔案

image.png
image.png

這是最基本的配置,我下面只簡單的介紹下幾個變數
group:我們在root build.gradle中關聯外掛時需要用到
version:外掛版本號
uploadArchives task:釋出外掛到本地倉庫
好了終於到了要具體怎麼釋出到本地倉庫了,你可以通過以下2中方式
1、gradlew plugin_component:uploadArchives
2、點選task列表中相應的task
image.png
image.png

外掛引入

1、root build.gradle 配置

image.png
image.png

2、module build.gradle 配置
image.png
image.png

外掛名即為上文plugin_component.properties的檔名

執行驗證

image.png
image.png

當執行sync project的時候 控制檯輸出了我們在外掛編寫的資訊

Debug

這裡再說說一句關於如何進行外掛debug,請按照以下步驟進行
1、點選Remoter

image.png
image.png

具體配置如下 埠號預設5005 可以不做修改
image.png
image.png

2、在命令列在輸入如下程式碼

gradlew assembleDebug -Dorg.gradle.debug=true --no-daemon
或者可以先我一樣建立.bat檔案 並在檔案在加上
gradlew assembleDebug -Dorg.gradle.debug=true --no-daemon
其實效果是一樣,只是這樣比較方便,不用每次都輸入命令了

其中assembleDebug 可以是任何打包的命令,此時系統已經開啟了除錯程式。

3、打斷點點選除錯

image.png
image.png

切換到我們剛建立的任務,點選紅色圈中的按鈕就會自動執行assembleDebug task,最後給大家看一眼除錯的斷點
image.png
image.png

總結

好了,關於編寫最簡單的gradle外掛和除錯到這就結束了,當然專案中不可能這麼簡單,我們可以根據自己的業務需求去編寫相應的gradle外掛,至於gradle外掛能幹什麼,我在這就不多說了,也不是本文的重點,你可以自己去查詢相關的資料。

相關文章