博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android找不到aar包
阅读量:6306 次
发布时间:2019-06-22

本文共 815 字,大约阅读时间需要 2 分钟。

转载请标明出处,维权必究: 

 

在做项目的时候引入aar包,编译的时候却提示错误(这个错误大概说的是.......模块B>模块C......有点忘了),其实大概可以看出是由于多个模块重复依赖造成的,下面具体讲讲:

主项目A引入模块B和C,模块B中也引入了模块C,而模块C中引入了aar包

(aar包在libs文件中,具体怎么引入请看我另一篇博客:https://www.cnblogs.com/tangZH/p/9939494.html

 

那么这时候就要注意了:

1、我们需要在模块B中的build.gradle文件中的android标签下写上下面代码:

repositories {        flatDir {
dirs 'C的libs文件夹路径' } }

假如模块C与模块B处于同一个目录下,那么模块C的libs文件的路径应该这样写../C/libs(关于相对路径这一块,可以看我另一篇博客 

如果有其它模块的libs路径需要添加,那么就在后边用逗号隔开

dirs 'C的libs文件路径','XX'

 

2、由于A也引用了模块C,所以需要做相同的处理,因为编译的时候会去找aar包。

 

在实际过程中发现编译已经没有问题了,但是A中无法调用aar包中的代码,最终发现:

将C的build.gradle中的implementation (name: 'aar包名称', ext: 'aar')  改为:api (name: 'aar包名称', ext: 'aar')就可以了,因为implementation指的是本Module,但是api指的是整个项目,依赖的范围不同

 

在这个过程中需要格外注意的是相对路径不要写错,否则会报找不到arr包的错误,如果还不行就clean一下工程

转载于:https://www.cnblogs.com/tangZH/p/9939663.html

你可能感兴趣的文章
一种基于SDR实现的被动GSM嗅探
查看>>
阿里云ECS每天一件事D1:配置SSH
查看>>
SQL Server 性能调优(性能基线)
查看>>
uva 10801 - Lift Hopping(最短路Dijkstra)
查看>>
[Java Web]servlet/filter/listener/interceptor区别与联系
查看>>
POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
查看>>
从零开始学MVC3——创建项目
查看>>
CentOS 7 巨大变动之 firewalld 取代 iptables
查看>>
延时任务和定时任务
查看>>
linux下的权限问题
查看>>
教你如何使用Flutter和原生App混合开发
查看>>
Spring Boot 整合redis
查看>>
CSS hover改变背景图片过渡动画生硬
查看>>
JDBC(三)数据库连接和数据增删改查
查看>>
淘宝应对"双11"的技术架构分析
查看>>
ssh
查看>>
订单的子单表格设置颜色
查看>>
Office365 Exchange Hybrid 番外篇 ADFS后端SQL群集(一)
查看>>
9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...
查看>>
lvs fullnat部署手册(三)rs内核加载toa篇
查看>>