AndroidStudio添加依赖的方式介绍


  • ####android-apt

APT(Annotation Processing Tool),注释处理工具,对源代码文件进行检测,根据注解自动生成代码。并编译生成的源文件和原来的源文件,将它们一起生成class文件

  • ####annotationProcessor
    编译时执行,不会打包到apk中。完全替代android-apt。
  • ####provided
    编译时执行,不会打包到apk中。但是跟apt/annotationProcessor有着根本的不同。
    A 、B、C都是Library。
    A依赖了C,B也依赖了C
    App需要同时使用A和B
    那么其中A(或者B)可以修改与C的依赖关系为Provided
    A这个Library实际上还是要用到C的,只不过它知道B那里也有一个C,自己再带一个就显得多余了,等app开始运行的时候,A就可以通过B得到C,也就是两人公用这个C。所以自己就在和B汇合之前,假设自己有C。如果运行的时候没有C,肯定就要崩溃了。

  • Provided是间接的得到了依赖的Library,运行的时候必须要保证这个Library的存在,否则就会崩溃,起到了避免依赖重复资源的作用。
    - ####compile
    会编译到最后的APK或library中
    - ####api
    完全等同于compile指令
    - ####implementation
    对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。
    - ####runtimeOnly
    完全等同于Provided指令
    - ####compileOnly
    如果一个app同时添加了多个依赖,而多个依赖中又同时添加了一个相同的依赖则报错,app中的依赖需要修改依赖方式为compileOnly.
    A依赖了C,B也依赖了C
    App需要同时使用依赖A和B
    那么其中A(或者B)需要修改与C的依赖关系为compileOnly,否则会出现DexArchiveMergerException异常.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值