本篇文章已授权为微信公众号 code小生 发布
前言
今天在看大牛 Github 项目源码的时候,发现他们 build.gradle 文件的写法很有意思, 仔细研究了一下,发现自己以前使用 Gradle 来依赖管理的姿势实在是太 Low 了,所以整理了一下今天解锁的 Gradle 依赖新姿势,分享给大家
相信现在大部分人都在使用 Gradle 来进行依赖管理,不得不说,Gradle 真的相当简洁、好用,举个例子,如果我们想依赖 okhttp,直接
compile 'com.squareup.okhttp3:okhttp:3.8.1'
然后就能在我们的项目中使用 okhttp 进行网络请求了。
不过,不知道你们有没有想过一个问题,如果 okhttp 版本升级了,那该怎么办?你可能会说直接在 build.gradle 进行修改就行啊,这当然是个解决方法。如果只有这个地方要进行修改的话,问题倒是不大。
但是,如果你的项目里面有好几个 module 呢,现在 APP 的规模越来越大,项目里面有多个 module 是非常正常的,每一次的版本更新,你都要修改所有的地方,麻烦不说,还可能会遗漏掉某些地方。所以分享一下我今天解锁的 Gradle 依赖新姿势,彻底解决我上面所讲的问题。
一、在根目录添加 dependencies.gradle 文件
所谓的「根目录」就是指项目中最外层的文件夹,以我的项目作为例子
然后在 dependencies.gradle 中配置我们原本在 build.gradle 中依赖的内容
可以看到在 dependencies.gradle 中主要是 android 和依赖的一些基本配置,这个文件中的内容都是 gradle 支持的语法。android 中主要是 APP 的一些基本配置,如 SDK 的版本。dependencies 中主要是我们依赖的第三方库,你可以把你经常使用的第三方库都放在里面,有了这个配置文件,以后所有 module 以及我们的主项目都统一在这里读取就行了。
二、在 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 依赖新姿势,分享给大家,希望对大家有所帮助。