本篇文章已授權為微信公眾號 code小生 發(fā)布
前言
今天在看大牛 Github 項目源碼的時候,發(fā)現(xiàn)他們 build.gradle 文件的寫法很有意思, 仔細研究了一下,發(fā)現(xiàn)自己以前使用 Gradle 來依賴管理的姿勢實在是太 Low 了,所以整理了一下今天解鎖的 Gradle 依賴新姿勢,分享給大家
相信現(xiàn)在大部分人都在使用 Gradle 來進行依賴管理,不得不說,Gradle 真的相當簡潔、好用,舉個例子,如果我們想依賴 okhttp,直接
compile 'com.squareup.okhttp3:okhttp:3.8.1'
然后就能在我們的項目中使用 okhttp 進行網(wǎng)絡請求了。
不過,不知道你們有沒有想過一個問題,如果 okhttp 版本升級了,那該怎么辦?你可能會說直接在 build.gradle 進行修改就行啊,這當然是個解決方法。如果只有這個地方要進行修改的話,問題倒是不大。
但是,如果你的項目里面有好幾個 module 呢,現(xiàn)在 APP 的規(guī)模越來越大,項目里面有多個 module 是非常正常的,每一次的版本更新,你都要修改所有的地方,麻煩不說,還可能會遺漏掉某些地方。所以分享一下我今天解鎖的 Gradle 依賴新姿勢,徹底解決我上面所講的問題。
一、在根目錄添加 dependencies.gradle 文件
所謂的「根目錄」就是指項目中最外層的文件夾,以我的項目作為例子
然后在 dependencies.gradle 中配置我們原本在 build.gradle 中依賴的內容
可以看到在 dependencies.gradle 中主要是 android 和依賴的一些基本配置,這個文件中的內容都是 gradle 支持的語法。android 中主要是 APP 的一些基本配置,如 SDK 的版本。dependencies 中主要是我們依賴的第三方庫,你可以把你經(jīng)常使用的第三方庫都放在里面,有了這個配置文件,以后所有 module 以及我們的主項目都統(tǒng)一在這里讀取就行了。
二、在 build.gradle 讀取配置文件的內容
在修改 app 目錄中 build.gradle 中的內容之前,我們先修改一下「根目錄」中 build.gradle 的內容,讓所有的 module 以及主項目都可以從這里讀取內容
最后修改一下 app 目錄 中 build.gradle 文件的內容
應該記得我們在 dependencies.gradle 中有 android 和 dependencies 兩部分的內容吧,我們只要引用
rootProject.ext.android.xxx
或者
root.Project.ext.dependencies["xxx"]
就可以讀取 dependencies.gradle 中的內容了。
以上便是我今天解鎖的 Gradle 依賴新姿勢,分享給大家,希望對大家有所幫助。