Android開發:build.gradle 配置指南

Android開發:build.gradle 配置指南

一、前言

作為Android開發,我們幾乎每天都在和builg.gradle打交道,但是你真的知道build.gradle裡的每一行代碼有什麼用嗎?以及builg.gradle到底有哪些作用?本文旨在全面的向大家介紹builg.gradle的作用與使用方法。

二、通用配置

在我們新建項目時,Android Studio 會自動為我們生成兩個build.gradle文件,一個位於根目錄,一個位於app文件夾下,下面是gradle文件的構成圖:

Android開發:build.gradle 配置指南

三、根目錄的build.gradle

該gradle文件是定義在這個工程下的所有模塊的公共屬性,它默認包含兩個個方法:

Android開發:build.gradle 配置指南

buildscript 方法是定義了全局的相關屬性,repositories 定義了 jcenter 作為倉庫。一個倉庫代表著你的依賴包的來源,例如 maven 倉庫。dependencies 用來定義構建過程。實際開發時,缺少某些倉庫來源是會出錯的,我記得還有一次是google()、jcenter()兩個順序導致的問題,具體記不清了,以後再遇到再更新~

allprojects 方法可以用來定義各個模塊的默認屬性,你可以不僅僅侷限於默認的配置,未來你可以自己創造 tasks 在 allprojects 方法體內,這些 tasks 將會在所有模塊中可見。

Android開發:build.gradle 配置指南

四、app文件夾下的build.gradle文件

Android開發:build.gradle 配置指南

以上就是我們最常見的常規配置,但是往往我們都有更復雜的需求,下面簡單介紹幾個常見的問題及其解決代碼。

Android開發:build.gradle 配置指南

五、如何修改編譯生成的 apk 的名字?

一般情況下,默認配置生成的 apk 文件名叫做app-debug.apk。但是我們在開發中為了方便最好是要對這些 apk 進行區分命名的,下面代碼就是為我們生成 apk 進行了合理的命名。例如:HelloWorld_1.0_debug.apk,由 APP 名稱 + 版本號 + 簽名名稱 組成。

Android開發:build.gradle 配置指南

六、遇到依賴衝突怎麼辦?

當項目中依賴的第三方庫越來越多時,有可能會出現兩個依賴庫中存在同一個(名稱)文件。如果這樣,Gradle 在打包時就會提示錯誤(警告)。那麼就可以根據提示,然後使用以下方法將重複的文件剔除,比較常用的是通過 exclude 去除重複的文件,例如:

Android開發:build.gradle 配置指南

Android開發:build.gradle 配置指南

七、如何多渠道配置?

這個配置是經常會使用到的,通常在適配多個渠道的時候,需要為特定的渠道做部分特殊的處理,比如設置不同的包名、應用名等。場景:當我們使用友盟統計時,通常需要設置一個渠道ID,那麼我們就可以利用productFlavors來生成對應渠道信息的包,如:

Android開發:build.gradle 配置指南

最後

如果你看到了這裡,覺得文章寫得不錯就給個讚唄!歡迎大家評論討論!如果你覺得哪裡值得改進的,請給我留言。一定會認真查詢,修正不足,定期免費分享技術乾貨。感興趣的小夥伴可以點一下關注哦。謝謝!

Android開發:build.gradle 配置指南

"


分享到:


相關文章: