第一个问题:aar包和常用的jar包区别
两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
所以这就意味着必然会导致出现的一个问题
Manifest merger failed with multiple errors, see logs
这是由于aar包中的清单文件等资源文件互相之间冲突,解决的办法是在application标签下添加
tools:replace="icon, label, theme"
同时需要注意icon, label, theme这三个标签也要对应存在,才能解决问题
第二个问题:如果不小心在点击打开aar包时设置了‘txt’等属性怎么办?
在此界面错误的将aar包设置为了text文件,不管你怎么引用aar包都无法正常使用,估计是很苦恼。
解决方法是在桌面上随便创建一个文件,将后缀名改为无法识别的文件,例如图中的‘abs’之类的,将文件复制到libs类目下,打开的时候会提示此弹窗,将File Pattern中的abs改为aar,在选择正确的jar包打开方式
第三个问题:关于moudle中引入的aar包,app主moudle无法识别怎么办?
首先在moudle的buidle文件中配置
repositories { flatDir { dirs 'libs' } }
然后设置已经导入的aar包
compile(name: '导入的包名', ext: 'aar')
在主moudle和其他关联此moudle的buidle文件中同样配置引入
,'../关联的moudle名/libs'