libpng错误:不是PNG文件在Android Studio中显示错误
我刚刚从Eclipe to Android Studio
导入了一个项目Eclipe to Android Studio
。 只是一个简单而简单的项目。 但项目文件夹显示一个错误。
请问我有什么方法可以实现我的目标? 我是新的Android工作室。有任何人遇到这个问题?任何帮助将不胜感激。
这里是Logcat
:
Execution failed for task ':app:mergeDebugResources'. > Error: Failed to run command: /home/amiya/android-studio/sdk/build-tools/android-4.4.2/aapt s -i /home/amiya/vola/app/src/main/res/drawable-mdpi/call.png -o /home/amiya/vola/app/build/res/all/debug/drawable-mdpi/call.png Error Code: 42 Output: libpng error: Not a PNG file
这是我的build.gradle
apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 17 targetSdkVersion 19 } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.android.support:appcompat-v7:+' compile 'com.android.support:support-v4:+' compile 'com.google.android.gms:play-services:+' compile files('libs/google-play-services.jar') compile files('libs/livesdk.jar') }
我没有用这个名字在我的项目中的任何地方使用这个文件! 我的项目中还有很多其他的png文件。
采取以下解决我的问题的步骤:
-
剪切粘贴在我的桌面上的图像 。
-
在编辑器中打开它保存为PNG。 而无需重命名文件名称 。
-
将.png图像复制粘贴到可绘制文件夹中 。
你可以使用cruncherEnabled
如果应该压缩PNG,则返回true,否则返回false。
android { aaptOptions { cruncherEnabled = false } }
它帮助了我。试试这个方法,我想它会起作用。
尝试在build.gradle
android { .... aaptOptions { cruncherEnabled = false } .... }
这可能是因为图像的重命名问题只是剪切图像,粘贴在系统中的任何地方,用相应的编辑器打开,并保存为PNG
格式,然后复制并粘贴到可绘制的文件夹。 这个对我有用
并且请看看我提交给ANDROID STUDIO团队的问题
希望它能帮助你。
尝试运行命令
find . -type f -name "*.png" | xargs -L 1 -I{} file -I {} | grep -v 'image/png; charset=binary$'
在你的根目录下,它会显示所有.png扩展名的文件,但不是png。 然后你可以在一些图像编辑器中将它们保存为png。 在运行这个命令clean项目之前,要加快这个过程。
如果您使用的是Mac OS,请按照以下步骤获取png
- 在预览中打开图像
- 转到文件 – >导出
- 设置格式为PNG
- 点击保存
这会给你一个有效的PNG
只是重命名或更改扩展名将无法在Mac OS中工作。
错误中的“PNG”显然是用大写字母写的。 所以你需要看到图像有.PNG扩展(在资本)。
第1步:在Paint中打开图像。
步骤2:保存图像另存为.PNG如下所示点击此处查看如何将图像保存为PNG
第3步:刷新您的项目
第4步:你应该看到这样 – > 看到这里
如果问题仍未解决,请回复
尝试使用另一个PNG文件。 png的元数据看起来有些问题。 我遇到过同样的问题。 然后我使用了一些其他的PNG文件,它解决了我的问题。