当整合三方时,有时有必要将aar整合到您自己的项目中。以下总结了几种情况:
1.该项目属于单模块架构,或者直接将aar放入应用模块
第一步:将aar方法放入moudle的libs目录中
步骤2:在项目的build.gradle文件中添加
仓库{
flatDir{
Dirs'libs'//指定aar的存储路径
}
}
但是需要注意的是,这需要放在android节点下
2.如果moudle被其他moudle引用,那么除了以上两个步骤,还需要添加到引用Moudle的Moudle的build.gradle文件中,这个文件也需要在android节点下
仓库{
flatDir{
Dirs' XXX/libs'/模块a libs的目录地址。
}
}
两个。aar与项目中的属性冲突:
事实上,aar项目不添加依赖项,也就是说,如果需要的依赖项需要添加到项目中,就可能发生冲突。下面总结了常用的冲突解决方法:
如何解决冲突
1.jar包冲突
这是最简单的,删除其中一个jar包。
2.在清楚地知道哪个库依赖于哪个库的情况下,
您可以使用排除来移除传递依赖项,如下所示:
3.2.1排除组
根据包名,以下配置为:过滤包名“com.android.support”的所有依赖项
androidTestCompile(' com . Android . support . test . espresso:espresso-core:2 . 2 . 2 ',{
排除群组:' com.android.support '
})
3.2.2排除模块
根据模块名称进行过滤。以下配置用于过滤模块“支持-注释”
androidTestCompile(' com . Android . support . test . espresso:espresso-core:2 . 2 . 2 ',{
排除模块:“支持-注释”
})
3.3.2逐一说明
哪个冲突指定哪个。Gradle强制依赖第三方库
configurations.all {
resolutionstrategy . force " com . Android . support:app compat-v 7:23 . 2 . 1 "
}
3.3.4以当前版本为准
编译(' com . Android . support:support-v4:23 . 3 . 0 '){
force = true
}
当我们依赖okhttp时,很可能会发生冲突。例如,从属依赖项还包括support-v4。这种情况下会出现版本冲突。Plus force = true表示即使依赖库存在版本冲突,也应该使用依赖库的标记版本。
四.属性冲突解决:要查看生成错误信息,
可能aar中的自定义控件属性与项目中的依赖或自定义控件属性冲突,所以有两种解决方案:
1.aar方更改自定义控件的属性名
2.更改项目中自定义属性的名称
原文:https://blog.csdn.net/ming655243/article/details/84497641
1.《moudle 项目集成aar以及gradle依赖冲突解决方式》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《moudle 项目集成aar以及gradle依赖冲突解决方式》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/1502406.html