Android Studio 多层级 Module 对 aar 引用问题解决方法
时间:2019-04-12
本文章向大家介绍Android Studio 多层级 Module 对 aar 引用问题解决方法,主要包括Android Studio 多层级 Module 对 aar 引用问题解决方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最近碰到这么个恶心的问题
问题:有个arr文件被放到Module A中引用,现在Module B又依赖了Module A,则在编译过程中会发生错误,Module B找不到aar文件。(同时如果又有Module C 依赖了Module B,C也会出同样的问题)
解法:
1、正常给一个module加入aar文件的步骤是:
1.把aar文件放入module文件夹下libs包下
2.然后在项目的build.gradle文件的android节点下加入
3.
1.
repositories { flatDir { dirs 'libs' } }
4.然后继续在dependencies节点中加入:compile(name: 'svprogresshud-release', ext: 'aar')
2、就是这样会引发上面的问题,所以你要做的是,给所有依赖或间接依赖Module A 的Module的build.gradle的android节点下加入
repositories { flatDir { dirs '../common/libs','libs' } }
其中dirs前面一段路径是Module A的文件夹
问题原因:
对于Module B和Module C来说,他们依赖了Module A,不管用不用,他们都会去把Module A的依赖走一遍,当走到你添加的aar本地依赖时,他们去找aar的路径也需要你给出,而且给的方式如果是libs这样的路径,它会去找自己包下的libs,里边自然没有,所以你要给出另一个相对路径:../common/libs这样才能找到,而为了不影响自己这个Module对自己Module下的libs的引用,就使用逗号再添加一个路径
总结
以上所述是小编给大家介绍的Android Studio 多层级 Module 对 aar 引用问题 ,希望对大家有所帮助!
- 谈谈基于SQL Server 的Exception Handling[上篇]
- 谈谈WCF中的Data Contract(4):WCF Data Contract Versioning
- 如何在silverlihgt中使用右键
- WCF技术剖析之十二:数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)
- silverlight向服务器post数据类
- WCF技术剖析之十三:序列化过程中的已知类型(Known Type)
- 44 Amazing Silverlight 2.0 Screencasts
- CaseStudy(showcase)类库篇-用agTweener来实现动画效果
- CaseStudy(showcase)数据篇-Loading的制作
- CaseStudy(showcase)数据篇-加载图片
- CaseStudy(showcase)数据篇-从XML中获取数据
- CaseStudy(showcase)布局篇-全屏效果
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理②
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(14)-EasyUI缺陷修复与扩展
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android自定义控件的步骤
- Android通过Socket与服务器之间进行通信的示例
- SAP Spartacus central configuration - B2cStorefrontModule
- Android自定义控件实现折线图
- 关于Angular Component changeDetection策略设置成OnPush的一个单元测试局限性
- SAP Spartacus CmsService.Components数据结构
- Android同时安装Release和Debug版本的方法
- Django 后台带有字典的列表数据与页面js交互实例
- SAP Spartacus CmsService的CmsActions.LoadCmsComponent
- SAP Spartacus OccEndpointsService单元测试的依赖注入
- Python利用PyPDF2库获取PDF文件总页码实例
- TypeScript里get属性的实现
- SAP Spartacus OccEndpointsService单元测试之getBaseEndpoint
- html+css入门基础案例之圣诞那些事
- 建议收藏备查!MySQL 常见错误代码说明