bot.rubiks
bot.rubiks

Reputation: 1031

Execution failed for task 'app:mergeDebugResources' Crunching Cruncher....png failed

I've added some pictures with the format *.png to my drawable-directory and linked it with the layouts. But every time when I tried to build it, there appears an error

"...Crunching Crunsher ...png failed"

Following is the output of the console:

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

I tried to clean the project, rebuild it, refresh the dependencies via "gradlew clean build --refresh-dependencies", nothing worked. I've checked the dependencies in the build.gradle file but nothing seems creating the error.

   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'
  }

Do you've got an idea, what's the source of the error? The filepath is also not too long and everytime unter 256 signs, that also not the problem :/

Thank you in advance :)

Upvotes: 103

Views: 247200

Answers (30)

Sn0wfreeze
Sn0wfreeze

Reputation: 2031

As this can be cause by many different issues for me it was in several layout files I had defined the layout_width and layout_height in the parent layout and the actual implementing layout below.

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:bind="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

Best way to find out is running gradle manually with a Stacktrace

Upvotes: 0

Vijayendra Vasu
Vijayendra Vasu

Reputation: 371

It took a lot of investigation to figure this out, but the root cause of this issue, in my case, turned out to be that the processor of my dev machine is no longer supported by Android Studio. Please see this this issue for more details.

The issue manifests itself as errors related to *.9.png files, but in reality the problem is that Android Studio no longer works on processors that don't support SSSE3 instructions (AMD Phenom, Athlon and older processors, for instance). There doesn't seem to be any workaround at this time.

Upvotes: 0

Raju Ugale
Raju Ugale

Reputation: 4281

I noticed downgrading Gradle build tools to 1.2.3 solved my problem of the Crunching PNG error, but on 1.5.0 the problem continues.

Upvotes: 2

Master_GoGo
Master_GoGo

Reputation: 1690

I changed the location of the app and copied it to a short path. You can do that by just copying your project and pasting it to a new Short Location. And, it worked for me.

For example,

Old_path: c/:user/android_studio_project/your_app
New_path: c/:your_app

Upvotes: 1

Floris M
Floris M

Reputation: 1814

For me, it was a corrupted PNG file.

Go to your res folder and try to open every image. When you find an image which can't be opened, replace it with a good image.

Upvotes: 0

Maksim Turaev
Maksim Turaev

Reputation: 4335

If you're running Linux, try this:

sudo apt-get install lib32stdc++6 lib32z1

It is from here.

Upvotes: 4

Kai Wang
Kai Wang

Reputation: 3361

For me, it is because one of my .png files is actually a .psd file. Resave it to real PNG file, and it is fixed.

Upvotes: 0

The incredible Jan
The incredible Jan

Reputation: 906

It seems to be a nasty problem of Gradle. We just upgraded from 2.14 to 3.3 and our build server couldn't build any more (a local build in Android Studio worked).

Error with too long path shows for example:

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

We had to create a local user account for the service that ran as system service for years... Now it saves under C:\Users... which is much shorter as the system profile path.

Upvotes: 1

RATHI
RATHI

Reputation: 5289

Just add this to your local.properties file of your project:

BUILD_DIR=C\:\\Tmp

(The error in Windows is due a long path, so I gave the path to one temporary folder.)

Upvotes: 0

Kona Suresh
Kona Suresh

Reputation: 1854

I am also suffering from the same issue. In my case I just copied the image to the drawable folder, then Android Studio is showing the error "Some file crunching failed".

My problem regarding to image only because that image was saved from the one of the my customized camera application in .png format. And for testing purposes I copied it into the drawable folder.

After that I tested saving the image as .jpg. It was not giving any error. That means the camera by default supports the ".jpg" format.

Finally I realized two things:

  1. The camera by default supports the ".jpg" format

  2. Without using image tools, don't change the image formats (even programmatically).

Upvotes: 0

DiRiNoiD
DiRiNoiD

Reputation: 1361

In my case I reached the solution in two steps:

  1. Keep your project name, package name, folder names short, because if the directory name exceeds 255 characters it gives the mergeResource error.
  2. Keep your drawables in the drawable folders. Any drawable file such as .jpg and .png outside the drawable folders throws the mergeResource folder error.

Upvotes: 0

Heberth Deza
Heberth Deza

Reputation: 615

The best solution is to change buildDir in build.gradle:

For example:

allprojects {
    buildDir = "C:/tmp/${rootProject.name}/${project.name}"
    repositories {
        jcenter()
    }
}

Rebuild and happy coding.

Upvotes: 20

IvanP
IvanP

Reputation: 1104

I got this issue after migration to Gradle 3.3, on Windows (with gradle-2.14.1 everything was fine).

The problem was in the path to the Gradle build-cache, which contains Cyrillic characters, like

C:\Users\Иван\.android\build-cache

So I renamed the user's folder to "Ivan", and the problem was gone.

Upvotes: 1

Dasser Basyouni
Dasser Basyouni

Reputation: 3252

I have faced this problem also, and it has not been solved by reformatting the image although it was an image from a project app of Google, and it was only solved by:

Moving the project file to the partition directly

Try it. It might help you.

Upvotes: 0

Marcus
Marcus

Reputation: 6717

This error was caused for me because of the path where my project was located. There was a blank space in one folder, for example,

Folder\Another Folder\MyAndroidProjects\...

Changing it to Folder\AnotherFolder\MyAndroidProjects\... and resynchronising Gradle resolved this for me.

Upvotes: 0

Kadir Erturk
Kadir Erturk

Reputation: 601

In my case the solution was simple. I moved the entire project to another location where the path is short.

The problem was caused by long directory names and file names.

Upvotes: 20

AmiNadimi
AmiNadimi

Reputation: 5715

I faced this problem when I copied my images (no matter JPEG or PNG) into the drawable folder manually. There might be different kinds of temporary solutions to this problem, but one best eternal way is to use the Drawable importer plugin for Android studio.

Install it by going to: menu FileSettingsPluginsBrowse Repositories → search "Drawable". You'll find Drawable importer as the first option. Click install on the right panel.

Use it by right clicking on the Drawable resource folder and then new. Now you can see four new options added to the bottom of the list, and among those you will find your appropriate option. In this case the "Batch drawable import" would do the trick.

Upvotes: 1

Guilherme Ramos
Guilherme Ramos

Reputation: 196

In my case, when I created a 9.png file, my original PNG file was using the margin where the 9.png line is drawn, creating a bad 9.png file. Try to add some margin to your PNG file.

Upvotes: 4

Mercury
Mercury

Reputation: 7988

The Crunching process is the image preparation process, which means something is wrong with your image files. In my case I had a PNG file which was not really a PNG file.

My solution:

I converted all my images to PNG running a super simple Python script from within the image folder, so in total all you need to do is:

  1. In order to install the PIL library, run: pip install pillow

  2. Save the below Python code in a .py file within your images folder you want to convert.

  3. Adjust the from_format, to_format variables in the script to whatever you need.

  4. Run script: 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())
    

And if you want read more about the Image module: http://effbot.org/imagingbook/image.htm

Upvotes: 1

Lakhan Sharma
Lakhan Sharma

Reputation: 1731

I fixed this issue by moving the project to the outer directory, and it then compiled successfully.

It was due to the long path of the project directory.

For example, I moved the project from:

D:/Android/Apps/AndroidStudioProject/AppName

to

D:/Android/AppName

Upvotes: 116

Learning Always
Learning Always

Reputation: 1561

This is because your PNG file is not supported or else you renamed your file directly.

Do the following steps.

  1. Copy your image source file from Android Studio to your desktop.
  2. Open the file with Paint.
  3. Save file as extension .png
  4. Delete the existing source file from Android Studio which you copied.
  5. Add the newly created file which you renamed via Paint.

Problem solved :)

Upvotes: 4

elifekiz
elifekiz

Reputation: 1506

I tried to rebuilt, restart, clean, update Gradle, etc. However, none of them worked for me.

Sometimes, it can be caused by a wrong naming for an XML or resource file.

At least, for me, that problem was solved by changing the name.

Upvotes: 2

Murugesan
Murugesan

Reputation: 43

I was importing an Android application in Android Studio (Gradle version 2.10) from Eclipse. The drawable images are not supported, then manually remove those images and paste some PNG images.

And also update the Android drawable importer from the Android repository. Then clean and rebuild the application, and then it works.

Upvotes: 0

anand krish
anand krish

Reputation: 4415

This is due to adding an image in drawable which has some extension like (.jpg), and you have changed or saved that to a .png format (this error will occur while changing the image format manually without using an editor tool).

Android Studio will throws an error while compiling the resource package using AAPT (Android Asset Packaging Tool), so all you need to do is use some image editor tools like GIMP or Paint to save the extension accordingly. Rebuild your project once everything is done.

For example: open your image in Paint (drag and drop your image to open it) → menu FileSave AsSave as Type → select your required type from the dropdown like I have shown in the below pictures:

Enter image description here

Enter image description here

Upvotes: 53

Wessam Hassan Ragab
Wessam Hassan Ragab

Reputation: 1

To solve this problem you should use drawable -> new -> image asset and then add your images. You will then find the mipmap folder contains your images, and you can use it by @mibmab/img.

Upvotes: -1

rychrist88
rychrist88

Reputation: 653

I had put my images into my drawable folder at the beginning of the project, and it would always give me this error and never build so I:

  1. Deleted everything from drawable
  2. Tried to run (which obviously caused another build error because it's missing a reference to files
  3. Re-added the images to the folder, re-built the project, ran it, and then it worked fine.

I have no idea why this worked for me, but it did. Good luck with this mess we call Android Studio.

Upvotes: 1

smoothumut
smoothumut

Reputation: 3491

In my case, the error was caused by a PNG file I added to the drawable folder. I had changed its extension from jpg to png by changing the text (in an inproper way) and then uploading it as PNG.

This was the problem Android Studio was pointing to.

I fixed this problem and got the error to disappear by changing the file extension using the Paint.NET tool or any other tool (proper way), and then uploading it to the drawable folder.

Upvotes: 128

SID --- Choke_de_Code
SID --- Choke_de_Code

Reputation: 1141

In my case, I solved this problem by simply changing my library file as I made a silly mistake of adding two different versions of the same library.

As this can be due to varied reasons, I found out the following ways to solve this issue as per the problem:

  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 and libraries

  6. Sometimes it can even be solved by changing the compatible library in build.gradle

  7. Executing the aapt command

  8. Renaming the extension from .jpg to .png

  9. Simply with the help of Clean Project.

    1. Even in some cases, restarting Android Studio can solve the problem.

Upvotes: 9

Sunil Purushothaman
Sunil Purushothaman

Reputation: 9501

Closing Android Studio and opening again solved this issue in my case.

Give it a try. I know it is not the right solution or answer, but it works. I am not sure about the root cause. It would be great if someone can share that.

Upvotes: 0

User
User

Reputation: 4211

File > Invalidate Caches / Restart

Upvotes: 1

Related Questions