今天在开发的过程中,发现打包一直失败,之前还没有问题,百度了一下,说是在studio的属性文件中(就是在项目的GradleScripts中,gradle.properties文件中添加一行代码就行,即gradle.properties(Project properties))添加
android.enableAapt2=false
就可以解决问题了,但是我发现这种方式不适用于所有的这种错误,先看一下我的错误日志
/root/.gradle/caches/transforms-1/files-1.1/mooc-studio-release.aar/911e2f50892294163ecd449a03b088fe/res/values/values.xml:388:5-43: AAPT: error: <item> inner element must either be a resource reference or empty. /root/.gradle/caches/transforms-1/files-1.1/mooc-studio-release.aar/911e2f50892294163ecd449a03b088fe/res/values/values.xml:389:5-46: AAPT: error: <item> inner element must either be a resource reference or empty. /root/.gradle/caches/transforms-1/files-1.1/mooc-studio-release.aar/911e2f50892294163ecd449a03b088fe/res/values/values.xml:390:5-56: AAPT: error: <item> inner element must either be a resource reference or empty. /root/.gradle/caches/transforms-1/files-1.1/mooc-studio-release.aar/911e2f50892294163ecd449a03b088fe/res/values/values.xml:391:5-54: AAPT: error: <item> inner element must either be a resource reference or empty. /root/.gradle/caches/transforms-1/files-1.1/mooc-studio-release.aar/911e2f50892294163ecd449a03b088fe/res/values/values.xml:392:5-55: AAPT: error: <item> inner element must either be a resource reference or empty. 可以看到,猜测一下,应该是我的某一个aar包里面的资源文件出现了问题 通过百度搜索AAPT: error: <item> inner element must either be a resource reference or empty.这个关键词,应该是资源命名过于陈旧了,如下图
发现
<item name="split" type="id">false</item>
改为
<item name="split" type="id"/>
即可.
上面引用的这个是一种解决方案
可能有的朋友会问 根据上面日志的内容,找不到values.xml啊,其实我们应该找ids.xml,就在value文件夹里面,将里面的格式按照上面的方式修改,重新编译,就可以打包成功了,真坑啊,整整困扰了我两天的时间,在此记录一下!!!