【已解决】AAPT: error: resource drawable/spinner_popupbackground (aka com.xxxx.xxx.xxx:drawable/spinner_popupbackground) not found.
一、错误描述
在修改UI的时候,编译出现了错误,如下所示:
Execution failed for task ':XXXXXXX:processXXXXXXReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Android resource linking failed
D:\Work\xxxxx-prod\xxxx\xxxxx\xxx\xxxx\xxxx\xxxxx\src\main\res\values\styles.xml:50:5-54:13: AAPT: error: resource drawable/spinner_popupbackground (aka com.xxxx.xxx.xxxx:drawable/spinner_popupbackground) not found.
* Try:
Run with --stacktrace option to get the stack trace. Run with --scan to get full insights.
Error的表面意思上是说,我这个style文件里面有个drawable资源没有找到;但
实际上是,我项目里面就有这个资源,而且也能找到,也能正确的打开;
但是为什么Android studio给我报错呢?
我的排查方向:
回退代码
在我修改的一堆文件里面,一个个文件进行排查,没问题就拷贝出来,然后回退;
然后编译;
重复这个过程;直到某一次终于编译过了!
对比前后两个文件,修改的内容发现?!
有个drawable文件,里面什么也没有写?
但是AS并没有告诉我这个文件里面有错误,或者没有内容;
虽然也是我自己的原因,但是AS的报错机制却指向了一个正确的地方,并告诉我是这里出错;
我把这个文件补齐
然后就再也没有报错了;
于是我有又尝试,
在别的drawable文件里面进行添加错误代码;
果然不我所料;
我随便给一个xml文件多添加了一个编译头,就又报错了;还是指向了一个奇怪的文件,并没有定位到真正错误的地方;
基本可以做总结,问题原因很简单;
修改方式
检查自己的修改的资源文件,有没有出现格式不对的问题
1、drawable文件没有进行填写,空白一片。连xml的编译格式头都没有写
2、drawable文件里面是不是多写了什么代码;比如首行的编译头,多了键值对标签