Setting.gradle文件: 當(dāng)整個工程是又各個不同的module組成的時候咕别,用于將其他的module做入,include進(jìn)來
舉例:
build.gradle(主工程的Build.gradle)
舉例:
build.gradle(module)
1.?apply plugin:'×××':叫做二進(jìn)制插件芍躏,二進(jìn)制插件一般都是被打包在一個jar里獨(dú)立發(fā)布的,比如我們自定義的插件斟叼,再發(fā)布的時候我們也可以為其指定plugin id秤朗,這個plugin id最好是一個全限定名稱土陪,就像你的包名一樣昼汗;
2.?apply from:'×××':叫做應(yīng)用腳本插件,其實這不能算一個插件鬼雀,它只是一個腳
本顷窒。應(yīng)用腳本插件,其實就是把這個腳本加載進(jìn)來源哩,和二進(jìn)制插件不同的是它使用的是from關(guān)鍵字.后面緊跟的坫一個腳本文件鞋吉,可以是本地的,也可以是網(wǎng)絡(luò)存在的励烦,如果是網(wǎng)絡(luò)上的話要使用HTTP URL.
雖然它不是一個真正的插件谓着,但是不能忽視它的作用.它是腳本文件模塊化的基礎(chǔ),我們可以把龐大的腳本文件.進(jìn)行分塊坛掠、分段整理.拆分成一個個共用赊锚、職責(zé)分明的文件,然后使用apply from來引用它們屉栓,比如我們可以把常用的函數(shù)放在一個Utils.gradle腳本里舷蒲,供其他腳本文件引用。示例中我們把 App的版本名稱和版本號單獨(dú)放在一個腳本文件里友多,清晰牲平、簡單、方便域滥、快捷.我們也可以使用自動化對該文件自動處理纵柿,生成版本。
說說Gradle插件的作用
把插件應(yīng)用到你的項目中骗绕,插件會擴(kuò)展項目的功能藐窄,幫助你在項目的構(gòu)建過程中做很多事情资昧。
1.可以添加任務(wù)到你的項目中酬土,幫你完成一些亊情,比如測試格带、編譯撤缴、打包刹枉。
2.可以添加依賴配置到你的項目中,我們可以通過它們配置我們項目在構(gòu)建過程中需要的依賴.比 如我們編譯的時候依賴的第三方庫等屈呕。
3.可以向項目中現(xiàn)有的對象類型添加新的擴(kuò)展屬性微宝、 方法等,讓你可以使用它們幫助我們配置虎眨、優(yōu)化構(gòu)建蟋软,比如android{}這個配置塊就是Android Gradle插件為Project對象添加的一個擴(kuò)展。
4. 可以對項目進(jìn)行一些約定嗽桩,比如應(yīng)用Java插 件之后岳守,約定src/main/java目錄下是我們的源代碼存放位置,在編譯的時候也是編譯這個目錄下的Java源代碼文件碌冶。
然后我們說說'com.android.application'
Android Gradle插件的分類其實是根據(jù)Android工程的屬性分類的湿痢。在Andriod中有3類工程,一類是App應(yīng)用工程扑庞,它可以生成一個可運(yùn)行的apk應(yīng)用:一類是Library庫工程譬重,它可以生成AAR包給其他的App工程公用,就和我們的Jar一樣罐氨,但是它包含了Android的資源等信息臀规,是一個特殊的Jar包;最后一類是Test測試工程栅隐,用于對App工程或者Library庫工程進(jìn)行單元測試以现。
App插件id:com.android.application.
Library插件id:com.android.library.
Test插件id:com.android.test.
一般一個項目只會設(shè)置一個App插件,而module一般是會設(shè)置為Library插件约啊。
參考文章:https://mp.weixin.qq.com/s/1UHcYOudViMhpUYeREZzGA