Error de ejecución para la tarea 'aplicación: mergeDebugResources' Crunching Cruncher ... png falló


103

Agregué algunas imágenes con el formato * .png a mi directorio de dibujo y lo vinculé con los diseños. Pero cada vez que intenté construirlo, aparece un error

"... Crunching Crunsher ... png falló"

A continuación se muestra el resultado de la consola:

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

Intenté limpiar el proyecto, reconstruirlo, actualizar las dependencias a través de "gradlew clean build --refresh-dependencies", nada funcionó. Revisé las dependencias en el archivo build.gradle, pero nada parece crear el 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'
  }

¿Tiene una idea, cuál es la fuente del error? La ruta del archivo tampoco es demasiado larga y cada vez que hay 256 signos, ese tampoco es el problema:

Gracias de antemano :)


¿Has tenido más suerte con esto? Yo estoy experimentando lo mismo.
mushcraft

1
Ya resolví este problema compartiendo la solución aquí -> stackoverflow.com/questions/22583418/…
ashumeow

2
Error: la ruta del archivo es demasiado larga en Windows, manténgase por debajo de 240 caracteres. Intente utilizar una ruta más corta para su proyecto. En mi caso, moví la fuente de mi proyecto de otra carpeta al escritorio y, después de abrir el proyecto desde el escritorio, este problema se resolvió automáticamente.
Lucky Rana

@LuckyRana mismo funcionó para mí
Bassem Wissa

Como dijo @LuckyRana, menos cantidad de caracteres importa, no tuve que cambiar el directorio, el nombre de mi proyecto era demasiado largo, así que lo acorté y funcionó. Esto podría ayudar si alguien enfrenta el problema y su proyecto ya está en un directorio raíz.
devcodes

Respuestas:


128

En mi caso, el error fue causado por un archivo PNG que agregué a la carpeta dibujable. Cambié su extensión de jpg a png cambiando el texto (de manera inadecuada) y luego cargándolo como PNG.

Este era el problema al que apuntaba Android Studio.

Solucioné este problema y el error desapareció cambiando la extensión del archivo con la herramienta Paint.NET o cualquier otra herramienta (forma correcta), y luego cargándolo en la carpeta dibujable.


13
Sugerencia: si está en mac os puede abrir la terminal y ejecutar el siguiente comando desde la carpeta de imágenes: 'sips -s format png * .png --out'. Convertirá correctamente todos los archivos con el sufijo .png en archivos PNG reales :)
cassioso

Lo mismo me pasó a mí. Cambié el nombre de una extensión también de psd a png y no se pudo ejecutar. Recibí este mensaje de error exacto.
TharakaNirmana

2
Este número también se reprodujo para mí. Muchas gracias por tu respuesta.
Nisim Naim

@cassioso Gracias amigo.
WideFide

1
Gracias amigo ... resolví mi problema haciendo exactamente lo mismo que mencionaste.
Aparna

116

Solucioné este problema moviendo el proyecto al directorio externo y luego se compiló correctamente.

Fue debido a la larga ruta del directorio del proyecto.

Por ejemplo, moví el proyecto de:

D:/Android/Apps/AndroidStudioProject/AppName

a

D:/Android/AppName

No sé por qué ... pero eso es lo único que funcionó para mí. Muchas gracias!
Drayn

1
Sí, no puedo explicar por qué. Pero esto también funcionó bien para mí
Thilaw Fabrice

8
Puede deberse a un problema de ruta larga.
Rajeev

1
Tuve el mismo problema en Windows 7 x64, Gradle 2.14.1, herramientas de compilación de Android 24.0.2. Mi ruta completa al archivo de recursos era demasiado larga (243 símbolos). Cuando cambié el nombre de la carpeta con el proyecto, solucionó el problema.
Dmitry

¡Funcionó para mí también !. Tuve el problema en Android Studio 2.2.0
Zen

53

Esto se debe a que agregó una imagen en dibujable que tiene alguna extensión como (.jpg), y la ha cambiado o guardado en un formato .png (este error ocurrirá al cambiar el formato de imagen manualmente sin usar una herramienta de edición).

Android Studio arrojará un error al compilar el paquete de recursos usando AAPT (Herramienta de empaquetado de activos de Android), por lo que todo lo que necesita hacer es usar algunas herramientas de edición de imágenes como GIMP o Paint para guardar la extensión en consecuencia. Reconstruya su proyecto una vez que todo esté hecho.

Por ejemplo: abra su imagen en Paint (arrastre y suelte su imagen para abrirla) → menú ArchivoGuardar comoGuardar como tipo → seleccione el tipo requerido en el menú desplegable como se muestra en las siguientes imágenes:

Ingrese la descripción de la imagen aquí

Ingrese la descripción de la imagen aquí


@krish He cambiado la extensión con gimp pero parece que no funciona de otra manera, por favor ayuda.
Ajay Pandya

1
use la herramienta Pintar para cambiar la extensión de la imagen, es bastante fácil. También he explicado anteriormente cómo usarlo ...
anand krish

1
Cambié la extensión de la imagen con Vista previa (en Mac), funcionó perfectamente, ¡muchas gracias!
Emzor

1
Advertencia: el uso de Paint eliminará la transparencia si hubiera alguna transparencia en su imagen.
Kingston

1
esto es muy útil thnx tanto
Achref Gassoumi

20

En mi caso la solución fue sencilla. Moví todo el proyecto a otra ubicación donde el camino es corto.

El problema fue causado por nombres de archivos y directorios largos.


5
El OP dice que la ruta del archivo no es demasiado larga. Si quieres desafiarlo en eso, quizás sea mejor un comentario.
Jonathan Mee

Esto tiene que ver con los límites de longitud de la ruta de Windows cuando Bamboo se ejecuta en Windows Server. Solución: ¡Construya en Linux!
Ewoks

20

La mejor solución es cambiar buildDir en build.gradle :

Por ejemplo:

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

Reconstruir y codificar feliz.


Mucho más fácil que mover el proyecto. ¡Agradable!
fishjd

Probé la solución y funcionó, pero ahora no puedo implementar en mi teléfono desde Visual Studio 2015. Aparece el siguiente error "No se pudo ubicar una apk implementable. Es posible que deba compilar su proyecto".
Hassan Ata Ullah

9

En mi caso, resolví este problema simplemente cambiando el archivo de mi biblioteca, ya que cometí un error tonto al agregar dos versiones diferentes de la misma biblioteca.

Como esto puede deberse a diversas razones, descubrí las siguientes formas de resolver este problema según el problema:

  1. Falta de coincidencia de recursos

  2. Atributos faltantes, etiquetas incorrectas, etc. en los recursos

  3. Problema en estilos

  4. Falta un nombre en los estilos

  5. Duplicación de recursos y bibliotecas

  6. A veces, incluso se puede resolver cambiando la biblioteca compatible en build.gradle

  7. Ejecutando el aaptcomando

  8. Cambiar el nombre de la extensión de .jpg a .png

  9. Simplemente con la ayuda de Clean Project.

    1. Incluso en algunos casos, reiniciar Android Studio puede resolver el problema.

4

Esto se debe a que su archivo PNG no es compatible o porque cambió el nombre de su archivo directamente.

Realice los siguientes pasos.

  1. Copie el archivo de origen de la imagen de Android Studio a su escritorio.
  2. Abra el archivo con Paint.
  3. Guardar archivo con extensión .png
  4. Elimine el archivo fuente existente de Android Studio que copió.
  5. Agregue el archivo recién creado que cambió de nombre a través de Paint.

Problema resuelto :)


He usado tinypng.com para regenerar imágenes png
Junior Mayhé

4

En mi caso, cuando creé un archivo 9.png, mi archivo PNG original estaba usando el margen donde se dibuja la línea 9.png, creando un archivo 9.png malo. Intente agregar algo de margen a su archivo PNG.


Sí, el mío era similar a esto. Estaba alterando un archivo de imagen y cuando lo guardé, se corrompió. Solo tuve que rehacer los ajustes a la imagen y volver a guardarla.
uplearnedu.com


3

La mejor respuesta ya se da en la salida de Gradle:

* Try:
Run with --stacktrace option to get the stack trace. 

Abra la Terminal en Android Studio y ejecute gradlew :app:mergeDebugResources --stacktrace. (En mi caso fue el límite de 240 caracteres de Windows), pero también debería darte la causa raíz de cualquier otro problema.


3

En mi caso, creo que este problema tenía que ver con la longitud de la ruta del archivo. Los sistemas UNIX y Windows imponen una longitud de ruta máxima de 255 y 260 caracteres respectivamente, y creo que el proceso de crunch falla cuando se asigna a una ruta especificada dinámicamente. Por lo tanto, incluso si las longitudes de ruta citadas en el mensaje de error son más cortas que el límite (la mía era solo 187 dentro de un entorno de compilación de Windows), creo que la utilidad crunch puede especificar internamente una ruta más larga, aunque sea solo temporalmente.

Puede determinar si esta es la fuente del error moviendo su proyecto al directorio raíz más en su sistema de archivos, luego intente volver a compilar.


Gracias. Tuve el mismo problema pero no me di cuenta. El mensaje de error no indicaba la longitud de la ruta ya que el problema y la longitud de la ruta al archivo que imprime estaba muy por debajo de 255. Sin embargo, establecer un env var GRADLE_USER_HOME en algo muy corto solucionó el problema en mi máquina de compilación.
albert c braun

2

Intenté reconstruir, reiniciar, limpiar, actualizar Gradle, etc. Sin embargo, ninguno de ellos funcionó para mí.

A veces, puede deberse a un nombre incorrecto para un archivo XML o de recursos.

Al menos, para mí, ese problema se resolvió cambiando el nombre.


2

Noté que la degradación de las herramientas de compilación de Gradle a 1.2.3 resolvió mi problema del error Crunching PNG, pero en 1.5.0 el problema continúa.


1

Archivo> Invalidar cachés / Reiniciar


1

Había puesto mis imágenes en mi carpeta dibujable al comienzo del proyecto, y siempre me daría este error y nunca compilaría, así que yo:

  1. Eliminado todo de dibujable
  2. Intenté ejecutar (lo que obviamente causó otro error de compilación porque falta una referencia a los archivos
  3. Vuelva a agregar las imágenes a la carpeta, reconstruyó el proyecto, lo ejecutó y luego funcionó bien.

No tengo idea de por qué esto funcionó para mí, pero lo hizo. Buena suerte con este lío que llamamos Android Studio.


1

El proceso Crunching es el proceso de preparación de la imagen, lo que significa que algo anda mal con sus archivos de imagen. En mi caso, tenía un archivo PNG que no era realmente un archivo PNG.

Mi solución:

Convertí todas mis imágenes a PNG ejecutando un script de Python súper simple desde la carpeta de imágenes, así que en total todo lo que necesitas hacer es:

  1. Para instalar la biblioteca PIL, ejecute: pip install pillow

  2. Guarde el siguiente código de Python en un archivo .py dentro de la carpeta de imágenes que desea convertir.

  3. Ajuste las variables from_format, to_format en el script a lo que necesite.

  4. Ejecutar guión: 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())

Y si quieres leer más sobre el módulo de imagen: http://effbot.org/imagingbook/image.htm


1

Enfrenté este problema cuando copié mis imágenes (sin importar JPEG o PNG) en la carpeta dibujable manualmente. Puede haber diferentes tipos de soluciones temporales para este problema, pero una de las mejores formas eternas es utilizar el complemento de importación Drawable para Android Studio .

Para instalarlo, vaya a: menú ArchivoConfiguraciónComplementosExaminar repositorios → busque "Dibujable". Encontrarás el importador de Drawable como primera opción. Haga clic en instalar en el panel derecho.

Úselo haciendo clic derecho en la carpeta de recursos Drawable y luego en nuevo. Ahora puede ver cuatro nuevas opciones agregadas al final de la lista, y entre ellas encontrará la opción adecuada. En este caso, la "Importación dibujable por lotes" funcionaría.


1

Tuve este problema después de la migración a Gradle 3.3, en Windows (con gradle-2.14.1 todo estaba bien).

El problema estaba en la ruta al caché de compilación de Gradle, que contiene caracteres cirílicos, como

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

Así que cambié el nombre de la carpeta del usuario a "Ivan" y el problema desapareció.


+1 pero no pudimos resolver el problema en nuestro servidor de compilación. El camino se ve bien pero no funciona. Volvimos al viejo gradle ...: /
El increíble

1

Parece ser un problema desagradable de Gradle. Acabamos de actualizar de 2.14 a 3.3 y nuestro servidor de compilación no pudo compilar más (una compilación local en Android Studio funcionó).

El error con una ruta demasiado larga muestra, por ejemplo:

C: \ Windows \ System32 \ config \ systemprofile.gradle \ caches \ 3.3 \ scripts-remapped \ build_bonsjy48fqq8sotonpgrvhswt \ 36ejadunoxgw3iugkh95lqw \ projedd7e29570ae79482d0308d82f4 $e346bjsclosure_clases

Tuvimos que crear una cuenta de usuario local para el servicio que se ejecutó como servicio del sistema durante años ... Ahora se guarda en C: \ Usuarios ... que es mucho más corto que la ruta del perfil del sistema.


1

Cambié la ubicación de la aplicación y la copié en una ruta corta. Puede hacerlo simplemente copiando su proyecto y pegándolo en una nueva ubicación corta. Y funcionó para mí.

Por ejemplo,

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

0

Cerrar Android Studio y volver a abrir resolvió este problema en mi caso.

Darle una oportunidad. Sé que no es la solución o respuesta correcta, pero funciona. No estoy seguro de la causa raíz. Sería genial si alguien pudiera compartir eso.


0

Estaba importando una aplicación de Android en Android Studio (Gradle versión 2.10) desde Eclipse. Las imágenes dibujables no son compatibles, luego elimine manualmente esas imágenes y pegue algunas imágenes PNG.

Y también actualice el importador dibujable de Android desde el repositorio de Android. Luego limpie y reconstruya la aplicación, y luego funciona.


0

Este error fue causado por mí debido a la ruta donde se encontraba mi proyecto. Había un espacio en blanco en una carpeta, por ejemplo,

Folder\Another Folder\MyAndroidProjects\...

Si lo cambia a Folder\AnotherFolder\MyAndroidProjects\...y resynchronising Gradle resuelve esto para mí.


0

También me he enfrentado a este problema, y ​​no se ha resuelto reformateando la imagen aunque era una imagen de una aplicación de proyecto de Google, y solo se resolvió mediante:

Mover el archivo del proyecto a la partición directamente

Intentalo. Puede que te ayude.


0

En mi caso llegué a la solución en dos pasos:

  1. Mantenga el nombre de su proyecto, el nombre del paquete, los nombres de las carpetas cortos, porque si el nombre del directorio excede los 255 caracteres, da el error mergeResource.
  2. Mantenga sus dibujables en las carpetas dibujables. Cualquier archivo dibujable como .jpg y .png fuera de las carpetas dibujables arroja el error de carpeta mergeResource.

255 caracteres? ¿Qué plataforma? Linux? ¿Mac?
Peter Mortensen

0

También estoy sufriendo el mismo problema. En mi caso, acabo de copiar la imagen en la carpeta dibujable, luego Android Studio muestra el error " Error al procesar algunos archivos".

Mi problema con respecto a la imagen solo porque esa imagen se guardó de la aplicación de mi cámara personalizada en formato .png. Y para propósitos de prueba, lo copié en la carpeta dibujable.

Después de eso, probé guardar la imagen como .jpg. No estaba dando ningún error. Eso significa que la cámara admite de forma predeterminada el formato ".jpg".

Finalmente me di cuenta de dos cosas:

  1. La cámara admite de forma predeterminada el formato ".jpg"

  2. Sin utilizar herramientas de imagen, no cambie los formatos de imagen (ni siquiera mediante programación).


extensión de archivo! = formato de archivo Puede nombrar un archivo como desee, no cambiará su formato.
El increíble

¡No entiendo lo que intentas decir !. Mi imagen tomada de la aplicación de cámara personalizada y guardada como .png mediante programación. Entonces, cuando agregué esa imagen a la compilación de la carpeta dibujable, falló. cuando guarde la imagen de la aplicación de mi cámara como .jpg, no dará el error.
Kona Suresh

Entendí tu respuesta así: tu aplicación creó un jpg pero lo llamó "png" y luego te sorprendió que no funcionara.
El increíble

0

Simplemente agregue esto a su archivo local.properties de su proyecto:

BUILD_DIR=C\:\\Tmp

(El error en Windows se debe a una ruta larga, así que di la ruta a una carpeta temporal).


0

Para mí, es porque uno de mis archivos .png es en realidad un archivo .psd. Vuelva a guardarlo en un archivo PNG real y se corrigió.


0

Para mí, era un archivo PNG dañado .

Ve a tu rescarpeta e intenta abrir todas las imágenes. Cuando encuentre una imagen que no se puede abrir, reemplácela con una buena imagen.


-1

Para resolver este problema, debe usar dibujable -> nuevo -> recurso de imagen y luego agregar sus imágenes. A continuación, encontrará que la carpeta mipmap contiene sus imágenes y puede usarla con @ mibmab / img.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.