当前位置: 移动技术网 > IT编程>移动开发>Android > android找不到aar包

android找不到aar包

2018年11月12日  | 移动技术网IT编程  | 我要评论

纳爱斯硫磺皂,risk.bho,天空乐队

转载请标明出处,维权必究:https://www.cnblogs.com/tangzh/p/9939663.html 

 

在做项目的时候引入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(关于相对路径这一块,可以看我另一篇博客https://www.cnblogs.com/tangzh/p/9939655.html 

如果有其它模块的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一下工程

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网