任务'app:mergeDebugResources'嘎吱嘎吱嘎吱嘎吱......执行失败.... png失败

frem 发布于 2019-07-11 android 最后更新 2019-07-11 13:46 277 浏览

我已经将一些格式为* .png的图片添加到了我的drawable目录中,并将它与布局链接起来。但是每次当我尝试构建它时,都会出现错误

"...Crunching Crunsher ...png failed"
以下是控制台的输出:
app:mergeDebugResources
AAPT out(1561599) : No Delegate set : lost message:Done
AAPT out(12956469) : No Delegate set : lost message:Done
AAPT out(20612543) : No Delegate set : lost message:Crunching             C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\bt_meeting_focused.png
AAPT out(11030156) : No Delegate set : lost message:Crunching     C:\Dev\StudioProjects\test\android\app\src\main\res\mipmap-mdpi\ic_launcher.png
AAPT out(11030156) : No Delegate set : lost message:Crunching single PNG file: C:\Dev\StudioProjects\test\android\app\src\main\res\mipmap-    mdpi\ic_launcher.png
AAPT out(11030156) : No Delegate set : lost message:    Output file:     C:\Dev\StudioProjects\test\android\app\build\intermediates\res\debug\mipmap-mdpi-v4\ic_launcher.png
AAPT out(11030156) : No Delegate set : lost message:Done
AAPT err(11030156): libpng error: Not a PNG file
AAPT out(20612543) : No Delegate set : lost message:Crunching single PNG     file:     C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\bt_meeting_focused.png
AAPT out(20612543) : No Delegate set : lost message:    Output file:     C:\Dev\StudioProjects\test\android\app\build\intermediates\res\debug\drawable\b    t_meeting_focused.png
AAPT out(20612543) : No Delegate set : lost message:Done
AAPT err(20612543): libpng error: Not a PNG file
AAPT err(1561599): libpng error: Not a PNG file
AAPT err(12956469): libpng error: Not a PNG file
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Crunching Cruncher uhr.png failed, see logs
* 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: 14.598 secs
Executing tasks: [clean, :app:generateDebugSources,     :app:generateDebugAndroidTestSources]
Configuration on demand is an incubating feature.
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV42220Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
AAPT out(14080484) : No Delegate set : lost message:Done
AAPT out(9206750) : No Delegate set : lost message:Done
AAPT out(25360025) : No Delegate set : lost message:Done
AAPT err(25360025): libpng error: Not a PNG file
AAPT err(14080484): libpng error: Not a PNG file
AAPT out(6423170) : No Delegate set : lost message:Crunching C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\anfrage_senden_.png
AAPT err(6423170): libpng error: Not a PNG file
AAPT out(6423170) : No Delegate set : lost message:Crunching single PNG file:     C:\Dev\StudioProjects\test\android\app\src\main\res\drawable\anfrage_senden_.png
AAPT out(6423170) : No Delegate set : lost message: Output file: C:\Dev\StudioProjects\test\android\app\build\intermediates\res\debug\drawable\a    nfrage_senden_.png
AAPT out(6423170) : No Delegate set : lost message:Done
AAPT err(9206750): libpng error: Not a PNG file
Process list not empty
:app:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Crunching Cruncher uhr.png failed, see logs
* 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: 4.325 secs
我试图清理项目,重建它,通过“gradlew clean build --refresh-dependencies”刷新依赖项,没有任何工作。我已经检查了build.gradle文件中的依赖关系,但似乎没有创建错误。
   apply plugin: 'com.android.application'
   android {
   compileSdkVersion 22
   buildToolsVersion "22.0.1"
   compileOptions.encoding = 'windows-1251'
defaultConfig {
       applicationId "com.example.benutzer.test"
       minSdkVersion 16
       targetSdkVersion 22
       versionCode 1
       versionName "1.0"
   }
   buildTypes {
    release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
       }
   }
   }
dependencies {
   compile 'com.android.support:support-v4:22.2.0'
  }
你有没有想法,错误的根源是什么?该文件路径也不是太长,每次unter 256个迹象,这也不是问题:/ 先谢谢你 :)
已邀请:

punde

赞同来自:

似乎是Gradle的一个令人讨厌的问题。我们刚刚从2.14升级到3.3,我们的构建服务器无法再构建(Android Studio中的本地构建工作)。 例如,长路径显示错误:

C:\Windows\System32\config\systemprofile.gradle\caches\3.3\scripts-remapped\build_bonsjy48fqq8sotonpgrvhswt\36ejadunoxgw3iugkh95lqw\projedd7e29570ae79482d0308d82f4e346b\classes\build_bonsjy48fqq8sotonpgrvhswt$_run_closure1$_closure8$_closure13$_closure14$_closure15.class
我们必须为作为系统服务运行多年的服务创建一个本地用户帐户...现在它保存在C:\ Users ...下,它比系统配置文件路径短得多。

wet

赞同来自:

在我的情况下,错误是由我添加到drawable文件夹的png文件引起的。我通过更改文本(不正确的方式)将其扩展名从jpg更改为png,然后将其上传为png。 这是Android Studio指向的问题。 我修复了这个问题并通过使用paint.net工具或任何其他工具(正确的方式)更改文件扩展名,然后将其上传到drawable文件夹来消除错误。

xquis

赞同来自:

最好的解决方案是在build.gradle中更改buildDir: 例如:

allprojects {
    buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    repositories {
        jcenter()
    }
}
重建和快乐编码。

cnisi

赞同来自:

File > Invalidate Caches / Restart

avelit

赞同来自:

就我而言,我认为这个问题与文件路径的长度有关。 UNIX和Windows系统的最大路径长度分别为255和260个字符,我认为在分配到动态指定的路径时,紧缩过程会失败。因此,即使错误消息中引用的路径长度短于限制(我的Windows构建环境中只有187),我认为crunch实用程序可能在内部指定更长的路径,即使只是暂时的。 您可以通过将项目移动到文件系统上最根目录,然后尝试重新编译来确定这是否是错误的来源。

iqui

赞同来自:

由于我的项目所在的路径,因此导致此错误。一个文件夹中有空白,例如

Folder\Another Folder\MyAndroidProjects\...
将其更改为Folder\AnotherFolder\MyAndroidProjects\...并重新同步gradle为我解决了这个问题。

gomnis

赞同来自:

  1. 查看文件夹drawable-hdpi,drawable-mdpi,drawable-xhdpi和 等等。
  2. 如果位图文件错误,请将其删除并重新保存。
  3. 转到Build-> Rebuild Project

asaepe

赞同来自:

我尝试重建,重新启动,清理,更新gradle等等。但是,它们都不适合我。 有时,它可能是由xml或资源文件的错误命名引起的。 至少,对我来说,通过改变名称来解决这个问题。

gest

赞同来自:

这是因为您不支持您的PNG文件,或者您直接重命名了您的文件。 执行以下步骤。

  1. 将您的图像源文件从android studio复制到桌面。
  2. 用油漆打开文件。
  3. 将文件另存为扩展名.png
  4. 从您复制的android studio中删除现有的源文件。
  5. 添加您通过paint重命名的新创建文件。
问题解决了 :)

equi

赞同来自:

对我来说,这是一个损坏的PNG文件。 转到您的res文件夹并尝试打开每张图片。当您找到无法打开的图像时,请将其替换为好的图像

jeum

赞同来自:

在我的情况下,当我创建一个9.png文件时,我的原始png文件使用了绘制9.png行的边距,创建了一个错误的9.png文件。尝试为您的png文件添加一些余量。

eipsum

赞同来自:

不知道这是否会帮助其他任何人,但我在项目开始时将我的图像放入我的drawable文件夹中它总是会给我这个错误而且永远不会构建所以我1.从drawable中删除所有东西2.试图运行(这显然导致了另一个构建错误,因为它缺少对文件的引用3.将图像重新添加到文件夹重新构建项目然后运行它然后它工作正常。 我不知道为什么这对我有用,但确实如此,祝你好运,我们称之为android studio

wab

赞同来自:

对我来说,这是因为我的一个.png实际上是psd文件。将其重新保存到真正的png文件并修复。

sesse

赞同来自:

只需将其添加到项目的local.properties文件中即可

BUILD_DIR=C\:\\Tmp
(Windows中的错误是因为路径较长所以给了一个临时文件夹的路径)

asaepe

赞同来自:

当我手动将我的图像(无论是jpeg还是png)复制到drawable文件夹时,我遇到了这个问题。这个问题可能有不同类型的临时解决方案,但最好的永恒方法是使用Drawable importer plugin for Android studio。 通过以下方式安装它:文件→设置→插件→浏览存储库→搜索“可绘制”您将找到可绘制导入器作为第一个选项,单击右侧面板上的安装。 通过右键单击Drawable资源文件夹然后再使用new来使用它,现在您可以看到列表底部添加了四个新选项,其中您将找到相应的选项。在这种情况下,“批量可绘制导入”可以解决问题。

wnihil

赞同来自:

在我的情况下,我通过两步到达解决方案。 1.保持项目名称,包名称,文件夹名称较短,因为如果目录名称超过255个字符,则会出现mergeResource错误。 2.将您的drawables保存在drawable文件夹中。任何可绘制文件(例如.jpg,.png)在drawable文件夹之外会抛出mergeResource文件夹。

vfugit

赞同来自:

在Windows上迁移到gradle 3.3后出现此问题(使用gradle-2.14.1一切都很好)。 问题出在grable build-cache的路径上,whitch包含西里尔字符,比如 C:\ Users \用户Иван.android\构建缓存 所以我将用户的forder重命名为“Ivan”并且问题消失了。 希望这有助于某人。

bmagni

赞同来自:

我通过将项目移动到外部目录来修复此问题,并且已成功编译。 这是由于项目目录的长路径。 例如我移动了项目:

D:/Android/Apps/AndroidStudioProject/AppName
D:/Android/AppName
希望它可以帮到某人。

eenim

赞同来自:

最好的答案已经在gradle输出中给出:

* Try:
Run with --stacktrace option to get the stack trace. 
在Android Studio中打开终端并运行gradlew :app:mergeDebugResources --stacktrace。 (在我的情况下,它是Windows 240 char限制),但它也应该为您提供任何其他问题的根本原因。

mut

赞同来自:

我注意到降级gradle构建工具到1.2.3解决了我的crunching png错误的问题但是1.5.0问题仍在继续。

nnihil

赞同来自:

我是从eclipse在android-studio(gradle版本2.10)导入的android应用程序。不支持可绘制图像,然后手动删除这些图像并通过一些png图像。并从android存储库更新android drawable导入程序。然后清理并重建应用程序,然后就可以了。

dodit

赞同来自:

删除它/清理你的项目/再次添加/然后重建你的项目/它将发生原因从旧的android工作室迁移到更新的版本

zquia

赞同来自:

在我的情况下,我通过简单地更改我的库文件解决了这个问题,因为我犯了一个愚蠢的错误,即添加了同一个库的两个不同版本。 因为这可能是由于各种原因,所以我发现以下方法可以解决这个问题:

1>Mismatch of Resources 2>Missing attributes, wrong tags, etc in Resources 3>Issue in Styles 4>Missing name in Styles 5>Duplicacy of Resources/Libraries 6>Sometimes it can be even solved by changing the compatible library in build.gradle 7>Executing aapt command 8>Renaming the extension from .jpg to .png 9>Simply with the help of Clean Project 10>Even in some cases,restarting android studio can solve the problem.

yquo

赞同来自:

在我的情况下解决方案很简单。我把整个项目移到另一个路径很短的地方; 问题是由长目录名称和文件名引起的。

vdicta

赞同来自:

盖兹,我改变了应用程序的位置并复制到了一条短路径。而且,它的工作原理。 例如,

Old_path: c/:user/android_studio_project/your_app
New_path: c/:your_app
希望它对你有用。否则我会在这里发表评论后再回复你。

punde

赞同来自:

我也遇到了同样的问题。在我的情况下,只是将图像复制到drawable文件夹然后android studio显示此错误“某些文件处理失败”。 关于图像我的问题只是因为该图像是以我的自定义相机应用程序之一保存为.png格式。为了测试目的,我复制到drawable文件夹。 之后,我进行了测试,例如将图像保存为.jpg。它没有给出任何错误。这意味着相机默认支持“.jpg”格式。 最后我意识到了这两件事

  1. 相机默认支持“.jpg”格式
  2. 不使用图像工具也不会以编程方式更改图像格式。

yquo

赞同来自:

我也遇到了这个问题,虽然它是来自谷歌的项目应用程序的图像,但它没有通过重新格式化图像来解决它只是通过 将项目文件直接移动到分区 试试吧我可以帮你

frem

赞同来自:

压缩过程是图像准备过程,这意味着您的图像文件有问题,在我的情况下,我有一个png文件,这不是一个真正的png。 搜索结果 我的解决方案 我将所有图像转换为png,在图像文件夹中运行一个超级简单的python脚本,所以总的来说,你需要做的就是:

  1. 要安装PIL库,请运行:pip install pillow
  2. 将以下python代码保存在要转换的images文件夹中的py文件中。
  3. 将脚本中的from_format,to_format变量调整为您需要的任何内容。
  4. 运行脚本:python script_name.py
import os
from PIL import Image
from_format = (".jpg", ".png", ".bmp")
to_format = "png"
for fn in os.listdir('.'):
     if os.path.isfile(fn) and fn.lower().endswith(from_format):
        print "Converting File: %s" % fn
        im = Image.open(fn)
        im.save(fn.split('.')[0] + '.' + to_format, to_format.upper())
如果您想了解有关Image模块的更多信息:http://effbot.org/imagingbook/image.htm

isunt

赞同来自:

要解决这个问题,你应该使用drawable - > new - > image asset然后添加你的图片,这样你就会发现mipmap文件夹中包含你的图片,你可以通过@ mibmab / img使用它 我希望这很有用

mest

赞同来自:

这是因为在drawable中添加了一个像(.jpg)这样的扩展名的图像,并且您已将其更改或保存为.png格式(在不使用编辑器工具的情况下手动更改图像格式时会发生此错误)。使用AAPT(Android资产包装工具)编译资源包时,Android工作室会抛出错误,因此您只需使用一些图像编辑器工具(如“gimp或paint”)来相应地保存扩展。一切都完成后重建您的项目。 例如:在“绘画”工具中打开图像(拖放图像以打开它) - >文件 - >另存为 - >另存为类型 - >从下拉列表中选择所需类型,如下图所示: enter image description here enter image description here

est_ut

赞同来自:

在我的案例中关闭Android工作室并再次打开解决了这个问题。试一试。我知道这不是正确的解决方案或答案,但它确实有效。不确定根本原因。如果有人可以分享,那会很棒

dmodi

赞同来自:

如果您运行Linux,请尝试以下操作:

sudo apt-get install lib32stdc++6 lib32z1
来自here