解决方案: 安卓打包apk出错 AAPT: error: failed to read PNG signature: file does not start with PNG signature.

本文介绍了解决Android项目中出现的“Failed to read PNG signature: file does not start with PNG signature”错误的方法,包括关闭Android Studio的PNG合法性检查、使用画图程序重新保存图片以及更改图片格式。

问题

Failed to read PNG signature: file does not start with PNG signature

解决方法一:
在app/build.gradle文件中加以下代码,以关闭Android Studio的PNG合法性检查。

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

解决方法二:
只需要将图片复制出来,然后右键使用画图编辑,保存为PNG格适即可。

解决方法三:
该图片的后缀为.png,重命名该图片的后缀为.jpg。

C:\Users\Administrator\Desktop\apktool>java -jar apktool_2.11.1.jar b ys_out --copy-original -o patched.apk I: Using Apktool 2.11.1 on patched.apk with 8 threads I: Checking whether sources have changed... I: Checking whether sources have changed... I: Smaling smali folder into classes.dex... I: Checking whether sources have changed... I: Checking whether resources have changed... I: Building resources with aapt2... W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-hdpi\ic_launcher.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-hdpi\ic_launcher.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-hdpi\ic_launcher_foreground.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-hdpi\ic_launcher_foreground.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-hdpi\ic_launcher_round.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-hdpi\ic_launcher_round.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-mdpi\ic_launcher.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-mdpi\ic_launcher.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-mdpi\ic_launcher_foreground.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-mdpi\ic_launcher_foreground.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-mdpi\ic_launcher_round.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-mdpi\ic_launcher_round.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xhdpi\ic_launcher.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xhdpi\ic_launcher.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xhdpi\ic_launcher_foreground.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xhdpi\ic_launcher_foreground.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xhdpi\ic_launcher_round.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xhdpi\ic_launcher_round.png: error: file failed to compile. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xxhdpi\ic_launcher.png: error: failed to read PNG signature: file does not start with PNG signature. W: C:\Users\Administrator\Desktop\apktool\ys_out\res\mipmap-xxhdpi\ic_launcher.png: error: file failed to compile. Exception in thread "main" brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\Administrator\AppData\Local\Temp\brut_util_Jar_157669682827589415782199892265289432549.tmp, compile, --dir, C:\Users\Administrator\Desktop\apktool\ys_out\res, --legacy, -o, C:\Users\Administrator\Desktop\apktool\ys_out\build\resources.zip] at brut.androlib.AaptInvoker.invoke(SourceFile:106) at brut.androlib.ApkBuilder.buildResources(SourceFile:352) at brut.androlib.ApkBuilder.build(SourceFile:93) at brut.apktool.Main.main(SourceFile:322) Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\Administrator\AppData\Local\Temp\brut_util_Jar_157669682827589415782199892265289432549.tmp, compile, --dir, C:\Users\Administrator\Desktop\apktool\ys_out\res, --legacy, -o, C:\Users\Administrator\Desktop\apktool\ys_out\build\resources.zip] at brut.util.OS.exec(SourceFile:143) at brut.androlib.AaptInvoker.invoke(SourceFile:102) ... 3 more ys_out\smali\com\example\floatingball\FloatingBallService$TouchListener.smali[107,0] Error for input '.end class': Invalid directive
最新发布
10-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值