android studio library 模块中正确引用aar

今天对接一个海康监控的sdk,其中sdk 是以aar的形式提供的,并且我需要用到此aar的模块是个library。所以按照正常的在application模块中引入aar的方式一致报错,首先提示要关闭offline ,然后关闭了还是会提示错误。想了很久不明白。最终通过公司前辈的指导,正确的引入了aar。
1.除了和正常的aar的引入方式外,我们还需要在application所在模块的build.gradle文件中加入如下一段:

repositories {
    flatDir {
        dirs 'libs', '../模块名/libs'
    }
}

在application的build中也要加入文件的指向,可加入各个模块,其中用逗号隔开,模块名就是你的modlename。
然后在你自己模块中还要正确引入:

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile(name: 'aar名字', ext: 'aar')
}

到此aar的引入就完成了。

————————————–更新于 2018-01-03———————————–
最好使用远程依赖的方式,这种方式可以有效解决,多层级依赖,导致相同的库文件重复的问题。
远程依赖的规则是不传递依赖,这样本模块依赖的再引用的模块是不可见的:
模块A,B,C
如果B依赖C并且是远程依赖,那么A依赖B的时候,C对于A是不可见的。
如果我们需要A中使用C,那么可以在A中依赖C。
另一种解决方式:
那么我们在library中依赖aar的时候就可以考略将此aar上传到maven仓库或者其他的远程地址,这样在依赖的时候就不会出现编译不通过或者运行不了的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值