android gradle的dependencies说明

一个android项目中引用的其他项目或依赖库使用的目是不一样的。下面是详细的说明

新配置 废弃的配置 行为
implementation compile 添加到编译路径中,同时包含在输出(如APK),但是在作为模块被其他项目引用是,此依赖只会在运行时环境中依赖,编译时不需要。这样定义的目的是显著优化编译速度。比如模块B依赖模块A,模块C、D、E依赖模块B,如果模块B中使用implementation的方式依赖A时,如果A做了修改,那么只会重新编译B,而C、D、E模块都不需要重新编译。大多数的应用和测试模块均应使用此配置。
api compile 此依赖和 implementation 类似,但间接依赖此模块的模块需要重新编译,如implementation例子中的C、D、E模块都需要重新编译。
compileOnly provided 在编译路径中,但不在输出中。因此有这样依赖的模块应该动态的检查依赖的模块是否存在。这样的依赖可以减少最终APK的大小。此依赖不会向下延伸。
runtimeOnly apk 不在编译路径中,但包含在输出中。
annotationProcessor compile 注解处理器,有些第三方工具可以处理模块中的注解,通过此配置单独制定可以减少扫描处理器的包数量。

以上的说明是针对正常模块中的,针对测试(test)和安卓测试(androidTest)也有相同的依赖要求,只需要在配置名称的前面加上对应的前缀,并将首字母大写即可。

你可能感兴趣的:(android gradle的dependencies说明)