Gradle依赖的统一管理

转载 2016年05月30日 17:43:24

转自:http://stormzhang.com/android/2016/03/13/gradle-config/


我想大部分人应该都在使用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节点下的读取:

是不是很简单方便呢?以后所有的版本号或者配置的更改直接更改这个文件就好了,而且可以把所有项目中使用到或者可能使用到的第三方库都塞到这里管理,用到了就依赖,用不到就放里面就好了。

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

相关文章推荐

AndroidStudio项目取消SVN关联

步骤1:删除svn下项目文件夹 步骤2:找到项目下idea文件夹下vcs.xml文件 步骤3:打开vcs.xml文件,将vcs="svn"改为vcs=""后保存即可取消项目与svn关联 步骤4:桌...

android studio中断开SVN连接,并彻底清理项目中的.svn文件

参考文章: http://www.07net01.com/program/2016/02/1308573.html http://blog.csdn.net/dayanxuqun/articl...

android studio 断开与SVN的连接

在android studio中如何使用SVN,我们已经在以前的一篇文章中介绍过了,具体详细看《android studio配置SVN》 ,在本篇博客中,我们来解决一个问题:如何断开SVN的连接。在使...

Android Studio如何取消与SVN的关联

在使用SVN过程中可能有时因为一些原因,不想再使用SVN了,我们想取消与SVN的关联,让android项目恢复到原始状态,不想有哪些花花绿绿的颜色了,怎么办呢,操作起来很简单 把Android Stu...

使用config.gradle统一管理项目的依赖库

当你看着你module中build.gradle躺着各种乱七八糟的依赖库时候是不是顿生无力感,想整理又不知道怎么有条有序,整理好又好怕再添加新的库的时候不知道放到哪里,好吧,这就是我的想法, 所...

Gradle依赖的统一管理

我想大部分人应该都在使用Gradle来依赖管理,还没有使用的去面壁思过,Gradle使用起来简直太好用了,举个例子,我们想依赖个support-v4包,直接一句话: compile 'com.and...

gradle依赖中对于版本控制的统一管理

最近换工作了,新公司对于代码规范和版本控制有蛮高的要求,在gradle依赖中对于版本控制这一块,我之前的做法是这种:compile 'com.android.support:appcompat-v7:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)