AndroidStudio报错AAPT: libpng error: Not a PNG file

Android Studio在执行Clean任务时遇到'Execution failed for task ':app:mergeDebugResources''错误,原因是资源文件hq_point.png并非PNG格式。错误日志表明文件实际格式与PNG不符,可能由JPG文件直接改名导致。解决方案是使用Photoshop打开图片,将其正确保存为PNG格式并替换原文件。部分网上建议在build.gradle中添加配置来禁用PNG检查,但这可能不是最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

如有阐述不对,欢迎指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值