Gradle中怎么自定義插件,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到吳起網(wǎng)站設(shè)計與吳起網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吳起地區(qū)。
在Gradle中創(chuàng)建自定義插件,Gradle提供了三種方式:
在build.gradle腳本中直接使用
在buildSrc中使用
在獨立Module中使用
開發(fā)Gradle插件可以在IDEA中進行開發(fā),也可以在Android Studio中進行開發(fā),它們唯一的不同,就是IDEA提供了Gradle開發(fā)的插件,比較方便創(chuàng)建文件和目錄,而Android Studio中,開發(fā)者需要手動創(chuàng)建(但實際上,這些目錄并不多,也不復(fù)雜,完全可以手動創(chuàng)建,而且在AS中進行創(chuàng)建有利于進行插件依賴的調(diào)試和功能的完善)。
在build.gradle腳本中使用
在build.gradle腳本中使用是最簡單的,但是只適應(yīng)于很簡單的功能,也不便于其他地方應(yīng)用,如下面,可以直接寫在app moudle的build.gradle 里面,sync之后可在右側(cè)model對應(yīng)的other中查詢到MytestPlugin
根目錄下build.gradle
雙擊執(zhí)行,在android studio終端里就可以直接執(zhí)行此插件:
執(zhí)行之后的截圖
由于直接在build.gradle中進行自定義比較簡單,這里就不在進行重點的講解
在項目里使用
這里官網(wǎng)的描述 https://docs.gradle.org/4.0.2/userguide/organizing_build_logic.html#multiProjectBuildSrc
請參考(目前所暫時為最新的gradle4.0.2內(nèi)容,低版本也兼容此功能)
根據(jù)官網(wǎng)的描述,這里在項目中進行使用的gradle插件過程如下:
首先在Android Studio中創(chuàng)建一個標(biāo)準(zhǔn)的Android項目,然后在項目的根目錄下新建一個model命名為buildSrc,這個目錄就用來存放自定義插件
我們對新建的model操作過程如下:
src/main 項目文件下:
移除 java 文件夾,因為在這個項目中用不到 java 代碼
添加 groovy 文件夾,主要的代碼文件放在這里
添加 resources 文件夾,存放用于標(biāo)識 gradle 插件的 meta-data
修改src/build.gradle配置內(nèi)容
下面是我的一個實際項目:
項目中使用gradle截圖
其中,除了buildSrc目錄以外,其他都是標(biāo)準(zhǔn)的Android目錄,而buildSrc就是Gradle提供的在項目中配置自定義插件的默認目錄,開發(fā)Gradle要創(chuàng)建的目錄,也就是RootProject/src/main/groovy和RootProject/src/main/resources兩個目錄。
1,創(chuàng)建buildSrc/build.gradle
首先,先來配置buildSrc目錄下的build.gradle文件,這個配置比較固定,使用官網(wǎng)示例,腳本如下所示:
2,創(chuàng)建Groovy腳本
接下來,在groovy目錄下,創(chuàng)建一個Groovy類(與Java類似,可以帶包名,但Groovy類以.grovvy結(jié)尾,所以groovy文件的創(chuàng)建是new->file->custom.groovy),如圖所示:
其中MyPlugin為new出的新文件,全名為MyPlugin.groovy
在groovy下先創(chuàng)建了子目錄,這里類似于java 的package一樣,com/myPlugin 目錄,再創(chuàng)建MyPlugin.groovy文件:
注意:
groovy 文件夾中的類,一定要修改成 .groovy
后綴,IDE 才會正常識別。
這個插件創(chuàng)建了一個名為testPlugin的Task, 并在 task 中打印。插件是一個類,繼承自 org.gradle.api.Plugin接口,重載 void apply(Project project)方法,這個方法將會傳入使用這個插件的 project 的實例,這是一個重要的 context。
3,創(chuàng)建resources
resources目錄是標(biāo)識整個插件的目錄,其目錄下的結(jié)構(gòu)如下所示:
該目錄結(jié)構(gòu)與buildSrc一樣,是Gradle插件的默認目錄,不能有任何修改。創(chuàng)建好這些目錄后,在gradle-plugins目錄下創(chuàng)建——插件名.properties文件,如上圖所示的: myCustomPlugin.properties文件
在該文件中,代碼如下所示:
implementation-class=com.myPlugin.MyPlugin
通過上面的代碼指定最開始創(chuàng)建的Groovy類即可。
在主項目中使用插件
在主項目的build.gradle文件中,通過apply指令來加載自定義的插件,腳本如下所示:
apply plugin: 'myCustomGradle'
其中plugin的名字,就是前面創(chuàng)建myCustomPlugin.properties中的名字——myCustomPlugin,通過這種方式,就加載了自定義的插件。
配置完畢后,就可以在主項目中使用自定義的插件了,在終端執(zhí)行g(shù)radlew testPlugin指令或者在右側(cè)的gradle集成中查找,及app-other:testPlugin任務(wù)進行雙擊,如圖:
plugin命令可點擊
結(jié)果如下所示:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
當(dāng)前題目:Gradle中怎么自定義插件
文章URL:http://aaarwkj.com/article6/peggig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站建設(shè)、商城網(wǎng)站、軟件開發(fā)、服務(wù)器托管、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)