1. 程式人生 > >Gradle依賴的統一管理

Gradle依賴的統一管理

我想大部分人應該都在使用Gradle來依賴管理,還沒有使用的去面壁思過,Gradle使用起來簡直太好用了,舉個例子,我們想依賴個support-v4包,直接一句話:

compile 'com.android.support:support-v4:23.1.1'

不要太方便好麼?

但是不知道你們發現一些問題沒有?比如以後v4版本號如果升級了怎麼辦?你可能會說直接手動改下版本號就好了,又不費多少精力。是的,只有這一個地方當然很簡單,假設你專案裡引用了三四個module,而這些module裡也引用了v4包,那就要把所有依賴v4的包全部手動更改,這是一個專案,而如果你又是多個專案呢?這還只是一個v4包,假設又有多處地方依賴okhttp呢?而且下次所有的compileSdkVersion跟buildToolsVersion都要跟著升級呢?每次版本更新都要手動更改簡直太麻煩了,而且還容易遺漏某些地方。那麼今天就來給大家提供一種解決方案完全解決這種問題。

我們如果根本性的解決這個問題肯定會想有沒有一種通過一個配置檔案來管理所有的Gradle依賴呢?哈哈,聰明,還真有這種方法,就不繞彎了,直接告訴你終極解決方案。

我們以我在GitHub開源的專案9GAG為例,首先我們在專案的根目錄建立一個gradle配置檔案config.gradle,內容如下:

可以看到這裡包含了一些android和依賴的基本配置,以上都是gradle支援的語法,也許這裡包含了所有你覺得好用的庫,但是專案中只用到3、4個庫也沒關係,有了這個配置檔案,以後所有的buildToolsVersion的升級還是依賴庫的版本升級都在這裡統一進行配置管理,所有的module以及主專案都從這裡統一讀取就ok了,那麼接下來專案中怎麼依賴這裡的配置檔案呢?

其次看下專案根目錄的build.gradle檔案內容:

只需在最頂部加上上面一行程式碼,意思就是所有的子專案或者所有的modules都可以從這個配置檔案裡讀取內容。

最後在到app目錄下的build.gradle檔案裡看下具體如何讀取的呢?

android節點下的讀取:

denpendencies節點下的讀取:

是不是很簡單方便呢?以後所有的版本號或者配置的更改直接更改這個檔案就好了,而且可以把所有專案中使用到或者可能使用到的第三方庫都塞到這裡管理,用到了就依賴,用不到就放裡面就好了。

所謂配置在手,天下我有!