web-dev-qa-db-fra.com

L'exécution a échoué pour la tâche 'app: mergeDebugResources' Crunching Cruncher .... png a échoué

J'ai ajouté des images au format * .png à mon répertoire drawable et les ai liées aux mises en page. Mais à chaque fois que j'essayais de le construire, une erreur apparaissait. 

"... Crunching Crunsher ... png échoué"

Voici la sortie de la 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

J'ai essayé de nettoyer le projet, de le reconstruire, d'actualiser les dépendances via "gradlew clean build --refresh-dependencies", rien n'a fonctionné. J'ai vérifié les dépendances dans le fichier build.gradle mais rien ne semble créer l'erreur. 

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

Avez-vous une idée, quelle est la source de l'erreur? Le chemin du fichier n’est pas trop long et à chaque fois sous 256 signes, cela n’est pas non plus le problème: /

Merci d'avance :)

102
bot.rubiks

Dans mon cas, l'erreur est due à un fichier PNG que j'ai ajouté au dossier pouvant être dessiné. J'avais changé son extension de jpg à png en modifiant le texte (de manière incorrecte), puis en le téléchargeant au format PNG.

C’est le problème qu’Android Studio a signalé.

J'ai corrigé ce problème et j'ai fait disparaître l'erreur en modifiant l'extension de fichier à l'aide de l'outil Paint.NET ou de tout autre outil (méthode appropriée), puis en la téléchargeant dans le dossier pouvant être dessiné.

128
smoothumut

J'ai résolu ce problème en déplaçant le projet dans le répertoire externe, qui a ensuite été compilé avec succès.

Cela était dû au long chemin du répertoire du projet.

Par exemple, j'ai déplacé le projet de: 

D:/Android/Apps/AndroidStudioProject/AppName

à

D:/Android/AppName
116
Lakhan Sharma

Cela est dû à l'ajout d'une image dans drawable ayant une extension telle que (.jpg) et que vous avez modifiée ou sauvegardée dans un format .png (cette erreur se produit lors de la modification manuelle du format de l'image sans l'aide d'un éditeur).

Android Studio génère une erreur lors de la compilation du package de ressources à l'aide de l'AAPT (Android Asset Packaging Tool). Il vous suffit donc d'utiliser des outils d'édition d'images tels que GIMP ou Paint pour enregistrer l'extension. en conséquence. Reconstruisez votre projet une fois que tout est terminé.

Par exemple: ouvrez votre image dans Paint (faites glisser votre image pour l'ouvrir) → menu FichierEnregistrer sousEnregistrer en tant que type → sélectionnez le type souhaité dans le menu déroulant comme I ont montré dans les images ci-dessous:

 Enter image description here

 Enter image description here

53
anand krish

La meilleure solution consiste à changer buildDir in build.gradle :

Par exemple:

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

Reconstruire et codage heureux.

20
Heberth

Dans mon cas, la solution était simple. J'ai déplacé le projet entier vers un autre endroit où le chemin est court.

Le problème était dû aux noms de répertoire longs et aux noms de fichier.

20
Kadir Erturk

Dans mon cas, j'ai résolu ce problème simplement en changeant mon fichier de bibliothèque} en faisant une erreur stupide d'ajouter deux versions différentes d'une même bibliothèque.

Comme cela peut être dû à diverses raisons, j'ai découvert les moyens suivants pour résoudre ce problème selon le problème:

  1. Inadéquation des ressources

  2. Attributs manquants, mauvaises étiquettes, etc. dans les ressources

  3. Problème de styles

  4. Nom manquant dans les styles

  5. Duplication des ressources et des bibliothèques

  6. Parfois, il peut même être résolu en modifiant la bibliothèque compatible dans build.gradle

  7. Exécution de la commande aapt

  8. Renommer l'extension de .jpg à .png

  9. Simplement avec l'aide de Clean Project.

    1. Même dans certains cas, le redémarrage d'Android Studio peut résoudre le problème.
9

Dans mon cas, lorsque j'ai créé un fichier 9.png, mon fichier PNG d'origine utilisait la marge où la ligne 9.png est dessinée, créant ainsi un fichier 9.png incorrect. Essayez d'ajouter une marge à votre fichier PNG.

4
Guilherme Ramos

Si vous utilisez Linux, essayez ceci:

Sudo apt-get install lib32stdc++6 lib32z1

C'est de ici .

4
Maksim Turaev

En effet, votre fichier PNG n'est pas pris en charge ou vous avez renommé votre fichier directement.

Suivez les étapes suivantes.

  1. Copiez votre fichier source d'image d'Android Studio sur votre bureau.
  2. Ouvrez le fichier avec Paint.
  3. Enregistrer le fichier sous l'extension .png
  4. Supprimez le fichier source existant d'Android Studio que vous avez copié.
  5. Ajoutez le fichier nouvellement créé que vous avez renommé via Paint.

Problème résolu :)

4
Learning Always

La meilleure réponse est déjà donnée dans la sortie gradle:

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

Ouvrez le terminal dans Android Studio et exécutez gradlew :app:mergeDebugResources --stacktrace. (Dans mon cas, il s’agissait de la limite de 240 caractères de Windows), mais cela devrait également vous indiquer la cause de tout autre problème.

3
mattlaabs

Dans mon cas, je pense que ce problème était lié à la longueur du chemin du fichier. Les systèmes UNIX et Windows imposent une longueur de chemin maximale de 255 et 260 caractères respectivement, et je crois que le processus de compression échoue lors de l'affectation à un chemin spécifié dynamiquement. Ainsi, même si les longueurs de chemin indiquées dans le message d'erreur sont plus courtes que la limite (la mienne n'était que de 187 dans un environnement de construction Windows), je pense que l'utilitaire de compression peut spécifier en interne un chemin plus long, même de façon temporaire.

Vous pouvez déterminer s'il s'agit ou non de la source de l'erreur en déplaçant votre projet dans le répertoire le plus à la base de votre système de fichiers, puis en tentant une recompilation.

3
Mapsy

J'ai essayé de reconstruire, redémarrer, nettoyer, mettre à jour Gradle, etc. Cependant, aucun d'entre eux n'a fonctionné pour moi.

Parfois, cela peut être dû à un nom incorrect pour un fichier XML ou un fichier de ressources.

Au moins, pour moi, ce problème a été résolu en changeant le nom.

2
elfekz

J'ai remarqué en rétrogradant les outils de compilation Gradle à 1.2.3 résolu le problème de l'erreur Crunching PNG, mais le problème persiste sous 1.5.0.

2
AskQ

Fichier> Invalider les caches/redémarrer

1
Khan

J'ai changé l'emplacement de l'application et l'ai copiée sur un chemin court. Vous pouvez le faire en copiant simplement votre projet et en le collant dans un nouvel emplacement court… .. Et cela a fonctionné pour moi.

Par exemple, 

Old_path: c/:user/Android_studio_project/your_app
New_path: c/:your_app
1
Crime_Master_GoGo

Cela semble être un vilain problème de Gradle. Nous venons de passer de la version 2.14 à la version 3.3 et notre serveur de compilation ne pouvait plus en créer (une version locale dans Android Studio fonctionnait bien).

Une erreur avec un chemin trop long montre par exemple:

Citation de la connaissance

Nous avons dû créer un compte d'utilisateur local pour le service qui a fonctionné comme service système pendant des années ... Maintenant, il enregistre sous C:\Users ... qui est beaucoup plus court que le chemin du profil système.

1
The incredible Jan

J'ai rencontré ce problème lorsque j'ai copié manuellement mes images (peu importe JPEG ou PNG) dans le dossier pouvant être dessiné. Il existe peut-être différents types de solutions temporaires à ce problème, mais la meilleure solution consiste à utiliser le plugin Drawable importer pour Android studio .

Installez-le en allant à: menu FichierParamètresPluginsParcourir les référentiels → recherchez "Drawable". Vous trouverez l'importateur Drawable comme première option. Cliquez sur Installer dans le panneau de droite.

Utilisez-le en faisant un clic droit sur le dossier de ressources Drawable, puis nouveau. Vous pouvez maintenant voir quatre nouvelles options ajoutées au bas de la liste, et parmi celles-ci, vous trouverez votre option appropriée. Dans ce cas, l '"importation par lot extractible" ferait l'affaire.

1
AmiNadimi

J'ai eu ce problème après la migration vers Gradle 3.3, sous Windows (avec gradle-2.14.1, tout allait bien).

Le problème se trouvait dans le chemin d'accès au build-cache de Gradle, qui contient des caractères cyrilliques, comme

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

J'ai donc renommé le dossier de l'utilisateur en "Ivan" et le problème a disparu.

1
IvanP

J'avais placé mes images dans mon dossier pouvant être dessiné au début du projet, et il me donnait toujours cette erreur et ne construisait jamais, alors je:

  1. Tout supprimé de drawable 
  2. J'ai essayé de courir (ce qui a évidemment provoqué une autre erreur de construction car il manque une référence aux fichiers 
  3. Ajoutez de nouveau les images dans le dossier, reconstruisez le projet, exécutez-le, puis tout a bien fonctionné.

Je ne sais pas pourquoi cela a fonctionné pour moi, mais ça a fonctionné. Bonne chance avec ce gâchis appelé Android Studio.

1
rychrist88

Le processus de compression est le processus de préparation d'image, ce qui signifie que quelque chose ne va pas avec vos fichiers image. Dans mon cas, j'avais un fichier PNG qui n'était pas vraiment un fichier PNG.

Ma solution:

J'ai converti toutes mes images au format PNG à l'aide d'un script Python très simple, situé dans le dossier des images. Il ne vous reste donc plus qu'à:

  1. Pour installer la bibliothèque PIL, exécutez: pip install pillow
  2. Enregistrez le code Python ci-dessous dans un fichier .py dans le dossier des images que vous souhaitez convertir.
  3. Ajustez les variables from_format, to_format du script en fonction de vos besoins.
  4. Exécuter le 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())
    

Et si vous voulez en savoir plus sur le module Image: http://effbot.org/imagingbook/image.htm

1
Mercury

J'ai également fait face à ce problème, et le reformatage de l'image n'a pas résolu le problème, bien qu'il s'agisse d'une image provenant d'une application de projet de Google. Ce problème n'a été résolu que par

Déplacement direct du fichier de projet vers la partition  

Essayez-le Cela pourrait vous aider.

0
Dasser Basyouni

Je souffre aussi du même problème. Dans mon cas, je viens de copier l'image dans le dossier qui peut être dessiné, puis Android Studio affiche l'erreur "Une partie du traitement du fichier a échoué".

Mon problème concernant à l'image uniquement parce que cette image a été enregistrée à partir de l'application de mon appareil photo personnalisé au format .png. Et à des fins de test, je l'ai copié dans le dossier extractible.

Après cela, j'ai testé l'enregistrement de l'image au format .jpg. Ce n'était pas donner une erreur. Cela signifie que la caméra prend en charge par défaut le format ".jpg".

Finalement j'ai réalisé deux choses:

  1. La caméra prend en charge par défaut le format ".jpg"

  2. Sans utiliser les outils d'image, ne changez pas les formats d'image (même par programmation).

0
Kona Suresh

Pour moi, c’est qu’un de mes fichiers .png est en fait un fichier .psd. Réenregistrez-le dans un fichier PNG réel, et le problème est résolu.

0
Kai Wang

Cette erreur a été causée par le chemin d'accès à mon projet. Il y avait un espace vide dans un dossier, par exemple,

Folder\Another Folder\MyAndroidProjects\...

Le changer en Folder\AnotherFolder\MyAndroidProjects\... et resynchroniser Gradle résolut cela pour moi.

0
Marcus

Pour résoudre ce problème, vous devez utiliser drawable -> new -> image asset, puis ajouter vos images. Vous trouverez ensuite le dossier mipmap contenant vos images et vous pourrez l’utiliser avec @ mibmab/img.

0
Wessam Hassan Ragab

Dans mon cas, j'ai trouvé la solution en deux étapes:

  1. Gardez le nom de votre projet, le nom du paquet, et les noms de dossier courts, car si le nom du répertoire dépasse 255 caractères, l'erreur mergeResource est générée.
  2. Gardez vos tirables dans les dossiers pouvant être tirés. Tout fichier pouvant être dessiné, tel que .jpg et .png, situé en dehors des dossiers pouvant être dessinés, génère l'erreur du dossier mergeResource.
0
DiRiNoiD

Ajoutez simplement ceci à votre fichier local.properties de votre projet:

BUILD_DIR=C\:\\Tmp

(L'erreur dans Windows est due à un long chemin d'accès, alors j'ai donné le chemin d'accès à un dossier temporaire.)

0
RATHI

J'importais une application Android dans Android Studio (Gradle version 2.10) à partir d'Eclipse. Les images pouvant être dessinées ne sont pas prises en charge, puis supprimez-les manuellement et collez des images PNG.

Et mettez également à jour l'importateur téléchargeable Android à partir du référentiel Android. Ensuite, nettoyez et reconstruisez l'application, puis tout fonctionnera.

0
naga muru

Pour moi, c'était un fichier PNG corrompu .

Accédez au dossier res et essayez d’ouvrir chaque image. Lorsque vous trouvez une image qui ne peut pas être ouverte, remplacez-la par une bonne image.

0
Floris M

Fermer Android Studio et l’ouvrir à nouveau a résolu ce problème dans mon cas. 

Essaie. Je sais que ce n'est pas la bonne solution ni la bonne réponse, mais ça marche. Je ne suis pas sûr de la cause profonde. Ce serait formidable si quelqu'un peut partager cela.

0