android

Android中gradle的依赖:implementation

2018-08-07  本文已影响242人  码途有道

当gradle插件升级到3.0.0及以上后,我们会发现在gradle中添加依赖的时候,会推荐你使用implementation或者api,而不再推荐你使用compile,今天就来简单介绍下这两者的使用与区别!让小伙伴们可以有目的的去选择implementation或者api

api

下面举个小例子:
moduleA添加的依赖

api project('moduleB')

moduleB添加的依赖

api 'com.xxx.xxx:lib'

假如moduleB添加依赖lib,而moduleA添加moduleB作为依赖,则此时moduleA也可以使用lib中提供的接口

implementation

下面举个小例子:
moduleA添加的依赖

api project('moduleB')

moduleB添加的依赖

api 'com.xxx.xxx:lib'

假如moduleB添加依赖lib,而moduleA添加moduleB作为依赖,此时moduleA也不能使用lib中的提供的接口

特性

加快编译速度是什么鬼?

在大型项目中,会依赖多个lib且多层级依赖,如上面的小例子(app module依赖module BmoduleB依赖lib1lib2lib3...),此时使用api添加依赖,则app module也可以访问到lib1lib2lib3,当只需要改动一个lib1时,因为app module也可以访问到lib1,所以app module部分也会和module B一起被重新编译,而使用implementation则可以最大程度的避免这种情况。

另外,当不同的依赖module使用不同版本的lib(例如:不同版本的v7包),implementation可以最大程度的防止包冲突,并且在编译后会使用最高版本的lib

建议

上一篇下一篇

猜你喜欢

热点阅读