Gradle依赖之‘五种依赖配置’

今天查了下关于gradle中的依赖引用的情况: 

原文:https://zhuanlan.zhihu.com/p/110215979

当前Gradle*有 5 种依赖关系 ;外加2种测试用的依赖

01. Implementation

      将指定的依赖添加到编译路径,并将该依赖打包到输出文件中,如apk;

     但是这个依赖在编译时不能暴露给其他模块,例如依赖此模块的其他模块。这种方式指定的依赖在编译时只能在当前模块中访问。

      Gradle依赖之‘五种依赖配置’

 02. api

      使用api配置的依赖会将对应的依赖添加到编译路径,并将依赖打包输出,但是这个依赖是可以传递的,

      比如模块A依赖模块B,B依赖库C,模块B在编译时能够访问到库C,但是与implemetation不同的是,在模块A中库C也是可以访问的。

      Gradle依赖之‘五种依赖配置’

 

 03. compileOnly

      compileOnly修饰的依赖会添加到编译路径中,但是不会打包到apk中,因此只能在编译时访问,且compileOnly修饰的依赖不会传递。

      Gradle依赖之‘五种依赖配置’

 

04. runtimeOnly

     这个与compileOnly相反,它修饰的依赖不会添加到编译路径中,但是被打包到apk中,运行时使用。

 

05. annotationProcessor

     用于注解处理器的依赖配置

 

测试用依赖
   testImplementation  和  androidTestImplementation

 

-------------------------------------------------------------------------------------------------------------

举例:

   LomBok:  这个库是用于在编译时快速生成Getter和Setter等内容的,所以只使用在编译阶段,同时配置上注释依赖处理

   Gradle依赖之‘五种依赖配置’

 

上一篇:FastDDS 安装过程的坑


下一篇:极光开发者周刊【No.0827】