libpng error: Not a PNG file Error Showing In Android Studio

I just Imported a project from Eclipe to Android Studio. Just a plain and simple project. But the project folder is showing one error .

May I know what is the correct way to achieve my objective? I am new in Android-studio .Does any guys meet this issue?Any help would be greatly appreciated.

Here is 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

Here is my 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')
}

I am not using this file anywhere in my project with that name !! There are many other png files in my project though.


Solution 1:

You should follow below steps.

  1. Cut-paste the image on my desktop.

  2. Opened it in an editor saved it as png. without renaming the file name.

  3. Copy-pasted the .png image into the drawable folder.

You can use cruncherEnabled.

Returns true if the PNGs should be crunched, false otherwise.

android 
{ 
   aaptOptions
   {
   cruncherEnabled = false
   } 
}

Hope this helps you.

Solution 2:

Try this in build.gradle

android {
    ....
    aaptOptions {
        cruncherEnabled = false
    }
    ....
}

Solution 3:

Try run command

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

in your root project directory, it will show you all files that have .png extension, but are not pngs. Then you can resave them as png in some image editor. Before running this command clean project, to speed up the process.

Solution 4:

It might be because of renaming problem of the Image just cut the images and paste any where in the system and open each with the respective editor and save as the same but of PNG format and then copy and paste again to drawable folders. It works for me

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

Hope it will help you all .

Solution 5:

If you are using Mac OS, follow the steps below to get a png

  1. Open image in preview
  2. Go to file -> Export
  3. Set format as png
  4. Click on save

This will give you a valid png

Mere renaming or changing extension won't work in Mac OS.