引入aar包可能出现的问题

时间:2024-04-10 18:23:53

第一个问题: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包可能出现的问题

在此界面错误的将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'

相关文章