欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Gradle中怎么自定義插件

Gradle中怎么自定義插件,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到吳起網(wǎng)站設(shè)計(jì)與吳起網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吳起地區(qū)。

在Gradle中創(chuàng)建自定義插件,Gradle提供了三種方式:

  • 在build.gradle腳本中直接使用

  • 在buildSrc中使用

  • 在獨(dú)立Module中使用

開(kāi)發(fā)Gradle插件可以在IDEA中進(jìn)行開(kāi)發(fā),也可以在Android Studio中進(jìn)行開(kāi)發(fā),它們唯一的不同,就是IDEA提供了Gradle開(kāi)發(fā)的插件,比較方便創(chuàng)建文件和目錄,而Android Studio中,開(kāi)發(fā)者需要手動(dòng)創(chuàng)建(但實(shí)際上,這些目錄并不多,也不復(fù)雜,完全可以手動(dòng)創(chuàng)建,而且在AS中進(jìn)行創(chuàng)建有利于進(jìn)行插件依賴(lài)的調(diào)試和功能的完善)。

在build.gradle腳本中使用

在build.gradle腳本中使用是最簡(jiǎn)單的,但是只適應(yīng)于很簡(jiǎn)單的功能,也不便于其他地方應(yīng)用,如下面,可以直接寫(xiě)在app moudle的build.gradle 里面,sync之后可在右側(cè)model對(duì)應(yīng)的other中查詢(xún)到MytestPlugin

Gradle中怎么自定義插件

根目錄下build.gradle

雙擊執(zhí)行,在android studio終端里就可以直接執(zhí)行此插件:

Gradle中怎么自定義插件

執(zhí)行之后的截圖

由于直接在build.gradle中進(jìn)行自定義比較簡(jiǎn)單,這里就不在進(jìn)行重點(diǎn)的講解

2

 在項(xiàng)目里使用

這里官網(wǎng)的描述 https://docs.gradle.org/4.0.2/userguide/organizing_build_logic.html#multiProjectBuildSrc
請(qǐng)參考(目前所暫時(shí)為最新的gradle4.0.2內(nèi)容,低版本也兼容此功能)

Gradle中怎么自定義插件

根據(jù)官網(wǎng)的描述,這里在項(xiàng)目中進(jìn)行使用的gradle插件過(guò)程如下:
首先在Android Studio中創(chuàng)建一個(gè)標(biāo)準(zhǔn)的Android項(xiàng)目,然后在項(xiàng)目的根目錄下新建一個(gè)model命名為buildSrc,這個(gè)目錄就用來(lái)存放自定義插件

     

我們對(duì)新建的model操作過(guò)程如下:

src/main 項(xiàng)目文件下:

  • 移除 java 文件夾,因?yàn)樵谶@個(gè)項(xiàng)目中用不到 java 代碼

  • 添加 groovy 文件夾,主要的代碼文件放在這里

  • 添加 resources 文件夾,存放用于標(biāo)識(shí) gradle 插件的 meta-data

  • 修改src/build.gradle配置內(nèi)容

下面是我的一個(gè)實(shí)際項(xiàng)目:

Gradle中怎么自定義插件

項(xiàng)目中使用gradle截圖

其中,除了buildSrc目錄以外,其他都是標(biāo)準(zhǔn)的Android目錄,而buildSrc就是Gradle提供的在項(xiàng)目中配置自定義插件的默認(rèn)目錄,開(kāi)發(fā)Gradle要?jiǎng)?chuàng)建的目錄,也就是RootProject/src/main/groovy和RootProject/src/main/resources兩個(gè)目錄。

1,創(chuàng)建buildSrc/build.gradle

首先,先來(lái)配置buildSrc目錄下的build.gradle文件,這個(gè)配置比較固定,使用官網(wǎng)示例,腳本如下所示:

Gradle中怎么自定義插件

2,創(chuàng)建Groovy腳本

接下來(lái),在groovy目錄下,創(chuàng)建一個(gè)Groovy類(lèi)(與Java類(lèi)似,可以帶包名,但Groovy類(lèi)以.grovvy結(jié)尾,所以groovy文件的創(chuàng)建是new->file->custom.groovy),如圖所示:

Gradle中怎么自定義插件

其中MyPlugin為new出的新文件,全名為MyPlugin.groovy

在groovy下先創(chuàng)建了子目錄,這里類(lèi)似于java 的package一樣,com/myPlugin 目錄,再創(chuàng)建MyPlugin.groovy文件:


   

注意:
groovy 文件夾中的類(lèi),一定要修改成 .groovy
后綴,IDE 才會(huì)正常識(shí)別。

這個(gè)插件創(chuàng)建了一個(gè)名為testPlugin的Task, 并在 task 中打印。插件是一個(gè)類(lèi),繼承自 org.gradle.api.Plugin接口,重載 void apply(Project project)方法,這個(gè)方法將會(huì)傳入使用這個(gè)插件的 project 的實(shí)例,這是一個(gè)重要的 context。

3,創(chuàng)建resources
resources目錄是標(biāo)識(shí)整個(gè)插件的目錄,其目錄下的結(jié)構(gòu)如下所示:

Gradle中怎么自定義插件

該目錄結(jié)構(gòu)與buildSrc一樣,是Gradle插件的默認(rèn)目錄,不能有任何修改。創(chuàng)建好這些目錄后,在gradle-plugins目錄下創(chuàng)建——插件名.properties文件,如上圖所示的: myCustomPlugin.properties文件
在該文件中,代碼如下所示:

implementation-class=com.myPlugin.MyPlugin

通過(guò)上面的代碼指定最開(kāi)始創(chuàng)建的Groovy類(lèi)即可。

在主項(xiàng)目中使用插件


在主項(xiàng)目的build.gradle文件中,通過(guò)apply指令來(lái)加載自定義的插件,腳本如下所示:

apply plugin: 'myCustomGradle'

其中plugin的名字,就是前面創(chuàng)建myCustomPlugin.properties中的名字——myCustomPlugin,通過(guò)這種方式,就加載了自定義的插件。

配置完畢后,就可以在主項(xiàng)目中使用自定義的插件了,在終端執(zhí)行g(shù)radlew testPlugin指令或者在右側(cè)的gradle集成中查找,及app-other:testPlugin任務(wù)進(jìn)行雙擊,如圖:

Gradle中怎么自定義插件

plugin命令可點(diǎn)擊

結(jié)果如下所示:

Gradle中怎么自定義插件

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

當(dāng)前題目:Gradle中怎么自定義插件
文章URL:http://www.chinadenli.net/article6/peggig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)站建設(shè)商城網(wǎng)站軟件開(kāi)發(fā)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化