# 三、Gradle

# 一、五种依赖方式

# 1、implementation

会将指定的依赖添加到编译路径,并且会将该依赖打包到输出,如apk中,但是这个依赖在编译时不能暴露给其他模块,例如依赖此模块的其他模块。这种方式指定的依赖在编译时只能在当前模块中访问。

# 2、api

使用api配置的依赖会将对应的依赖添加到编译路径,并将依赖打包输出,但是这个依赖是可以传递的,比如模块A依赖模块B,B依赖库C,模块B在编译时能够访问到库C,但是与implemetation不同的是,在模块A中库C也是可以访问的

# 3、compileOnly

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

# 4、runtimeOnly

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

# 5、annotationProcessor

用于注解处理器的依赖配置,还没有使用过。

除了上面五种,还有两种testImplementation和androidTestImplementation两种,用于指定在测试代码的依赖。

Last Updated: 12/15/2023, 8:18:50 AM