android Studio 项目里报这个错误,是啥原因啊。编译时报错。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android Studio 项目里报这个错误,是啥原因啊。编译时报错。相关的知识,希望对你有一定的参考价值。

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_65\bin\java.exe'' finished with non-zero exit value 2

一般来说是,jar包引用重复导致的。
1.在project structure中去掉重复的jar包,
2.如果你的jar包是放到了libs目录中,且在gradle中发现了如下代码:
compile fileTree(include: ['*.jar'], dir: 'libs')
则注释掉即可。

我是用第二种方法解决的,第一种太麻烦。
参考技术A 里面有Jar包冲突了 你排查下追问

引入了三个jar包居然有两个是有冲突的,删了就好了。谢谢!

本回答被提问者采纳

libpng 错误:Android Studio 中显示的不是 PNG 文件错误

【中文标题】libpng 错误:Android Studio 中显示的不是 PNG 文件错误【英文标题】:libpng error: Not a PNG file Error Showing In Android Studio 【发布时间】:2014-06-15 11:35:40 【问题描述】:

我刚刚从Eclipe to Android Studio 导入了一个项目。只是一个简单的项目。但项目文件夹显示一个错误。

我可以知道实现目标的正确方法是什么吗?我是 Android-studio 的新手。有人遇到这个问题吗?任何帮助将不胜感激。

这里是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 图像.. 同样的问题,同样的评论:检查提到的文件 call.png 是否存在以及它是否是一个有效的 PNG 文件。例如。用十六进制编辑器打开它并验证它的第一个字节中是否有“PNG”。 还在前 16 个字节内查找 IHDR。文件可能包含“CgBI”,而“IHDR”应该是。 我有同样的错误,但它没有显示任何损坏的文件名。 【参考方案1】:

您应该按照以下步骤操作。

    将图片剪切粘贴到我的桌面

    在编辑器中打开它并保存为 png。不重命名文件 姓名

    .png 图像复制粘贴到可绘制文件夹中

您可以使用cruncherEnabled

如果应该压缩 PNG,则返回 true,否则返回 false。

android 
 
   aaptOptions
   
   cruncherEnabled = false
    

希望对你有所帮助。

【讨论】:

在我的情况下,我没有得到哪个 PNG 文件有这个问题。所以我无法应用你的解决方案! @BharatDodeja 好的。你的 logcat 返回什么? AAPT:libpng 错误:不是 PNG 文件 AAPT:libpng 错误:不是 PNG 文件:aIDEConsumerOff:mergeDebugResources FAILED FAILURE:构建失败并出现异常。 * 出了什么问题:任务 ':aIDEConsumerOff:mergeDebugResources' 执行失败。 > 某些文件处理失败,请参阅日志了解详细信息 * 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。构建失败 最后,通过比较 res 文件夹和我的工作项目备份副本的 res,我发现哪些 drawable 不是实际的 PNG。他们的文件大小不同。 :) 我在android/build.gradle 中设置了这个,我可以跳过前三个步骤。谢谢!【参考方案2】:

在 build.gradle 中试试这个

android 
    ....
    aaptOptions 
        cruncherEnabled = false
    
    ....

【讨论】:

useNewCruncher = false useNewCrunchercruncherEnabled有什么区别?【参考方案3】:

尝试运行命令

find . -type f -name "*.png" | xargs -L 1 -I file  -I  | grep -v 'image/png; charset=binary$'

在您的项目根目录中,它将显示所有具有 .png 扩展名但不是 png 的文件。 然后,您可以在某些图像编辑器中将它们重新保存为 png。 在运行此命令之前清理项目,以加快进程。

【讨论】:

为我打印“file: invalid option -- 'I'”。【参考方案4】:

这可能是因为图像的重命名问题只是剪切图像并粘贴到系统中的任何位置并使用相应的编辑器打开每个图像并保存为相同但 PNG 格式 然后再次复制并粘贴到可绘制文件夹。它对我有用

AND PLEASE LOOK AT THE ISSUE WHICH I SUBMITTED TO THE ANDROID STUDIO TEAM

希望对大家有所帮助。

【讨论】:

@MSI 只是通过在图像编辑器中打开图像来检查您的图像格式,比如在 Windows 和 linux 图像查看器中绘制并保存检查它们的格式而不是查看它们的扩展名吗? @MSI 我已经编辑了我的答案请查看问题链接它将解决您的问题,如果有帮助别忘了给我投票谢谢 感谢 Spry。只需使用 Windows 编辑功能将其重新保存为 png。并且有效:)【参考方案5】:

如果您使用的是 Mac OS,请按照以下步骤获取 png

    在预览中打开图片 转到文件 -> 导出 设置格式为png 点击保存

这会给你一个有效的 png

仅重命名或更改扩展名在 Mac OS 中不起作用。

【讨论】:

【参考方案6】:

错误中的“PNG”显然是用大写字母写的。所以你需要看到图片有 .PNG 扩展名(大写)。

第 1 步:在 Paint 中打开图像。

第二步:保存图片另存为.PNG,如下图 Click here to see how to save the image in PNG

第 3 步:刷新您的项目

第 4 步:你应该会看到这样 -> See here

如果问题仍未解决,请回复

【讨论】:

【参考方案7】:

对我来说,发生的事情是我在 Windows 上克隆了存储库,这些 PNG 文件在 Linux/Mac 中是符号链接,但在 Windows 上它们只是无效文件。一旦我对文件进行了正确的复制而不是符号链接,构建就可以工作了。

【讨论】:

【参考方案8】:

尝试使用其他 png 文件。 png 的元数据 似乎有问题。我遇到过同样的问题。然后我使用了其他一些 png 文件,它解决了我的问题。

【讨论】:

以上是关于android Studio 项目里报这个错误,是啥原因啊。编译时报错。的主要内容,如果未能解决你的问题,请参考以下文章

使用android studio 导出apk项目时候报这个错误,求大神解答!

在运行我的 Android Studio 项目时,Java 编译器给出了这个错误

libpng 错误:Android Studio 中显示的不是 PNG 文件错误

Android Studio 项目出现错误“缺少权限”

android studio 更新 Gradle错误解决方法(Gradle sync failed)

android studio 更新 Gradle错误解决方法