如果程序中有很多个lib库,比如说:ButterKnifer
这么多库文件,我们在引用的时候实际上就两句
compile 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
其中一句annotationProcessor 实际上为了让注解处理器处理注解,否则只要一句就够了
那我们应该怎么做到这种效果呢?
在项目中我们直接引用本地的lib库,使用api project,是可以传递依赖的
比如
Alib中有个类AClass
Blib依赖了Alib
api project(':Alib')
Clib又依赖了Blib
api project(':Blib')
这个时候Clib是可以使用类AClass的,为什么不用implementation自己去查
但是如果上传到maven仓库,你只是依赖了Clib的话,编译就会报错,说找不到Blib
对于这种情况,我们可以这么干
先上传Alib
然后在Blib中依赖Alib,这个时候就要注意,要使用maven项目的路径,比如说:
implementation 'com.xxx.libtest:Alib:1.0.4'
同样在Clib中引入Blib
这样我们在使用的时候,只要和ButterKnifer一样
compile 'com.xxx.libtest:Clib:1.0.2'
就会把Alib和Blib一起引入进来,可以在Android右边的External Libraries中查看