AndroidStudio在Clean时报的错误信息(在Gradle Console里):
AAPT: libpng error: Not a PNG file
AAPT: libpng error: Not a PNG file
Error: java.lang.RuntimeException: Some file crunching failed, see logs for details
:app:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: java.lang.RuntimeException: Some file crunching failed, see logs for details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 21.053 secs
从错误的日志的提示上是说:Not a PNG file。从而引发了
Execution failed for task ‘:app:mergeDebugResources’.
Error: java.lang.RuntimeException: Some file crunching failed, see logs for details
刚开始也是不是太理解这个错误,而且错误也没有非常明显的定位,只是说这不是一个PNG的文件。不过经过多次Clean的结果AS还是定位出了具体是哪个文件,是在drawable文件(Eclipse转AS沿用了drawable)下的名为hq_point.png的文件,乍一看没啥问题,文件名就是以png结尾的,可以是点开图片来看看就出现了如下的情况:
文件的真实格式和文件名的结尾完全不是一个格式,在Eclipse中没有检查出来,可是到了Studio中就过不了,估计最大的可能是直接将后缀名为jpg格式的图片直接改为后缀名为png格式的图片。
解决方法:用ps打开(如果打不开就将图片后缀改为jpg格式,然后 File ——Save For Web ),存储为PNG格式,替换掉原工程里面的就可以了。
网上的解决方法:
在buildToolsVersion 下面加入如下的两句话(Gradle学的不好具体不知道是什么意思),大概是禁止了检查是否是png功能
compileSdkVersion 23
buildToolsVersion '23.0.3'
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
如有阐述不对,欢迎指导。