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)也有相同的依赖要求,只需要在配置名称的前面加上对应的前缀,并将首字母大写即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 5 资源文件规范 6 版本统一规范 7 第三方库规...
    浪够_阅读 1,093评论 0 3
  • 第一部分 打好基础 Laying the Foundation 第一章 欢迎进入软件构建的世界 Welcome t...
    白桦叶阅读 4,723评论 0 17
  • ——幸福之家教师节团训活动 昨天幸福之家幼儿园全体老师过了一个特别有意义的教师节,刘园长不仅...
    于丽萍_ylp阅读 724评论 6 9
  • 2017-10-21-长沙 有个小姑娘跑到他面前,轻轻的问,能签到我手上吗? 然后他笑了笑说,好,给你签一个。 活...
    屿秋的秋阅读 288评论 0 0
  • ——读里尔克《给一个青年诗人的十封信》 里尔克除却是个诗人,还是一个永不疲倦的书简家。在《给一个青年诗人的十封信》...
    党玲芬阅读 568评论 0 5