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 :)
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é.
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
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 Fichier → Enregistrer sous → Enregistrer en tant que type → sélectionnez le type souhaité dans le menu déroulant comme I ont montré dans les images ci-dessous:
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.
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.
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:
Inadéquation des ressources
Attributs manquants, mauvaises étiquettes, etc. dans les ressources
Problème de styles
Nom manquant dans les styles
Duplication des ressources et des bibliothèques
Parfois, il peut même être résolu en modifiant la bibliothèque compatible dans build.gradle
Exécution de la commande aapt
Renommer l'extension de .jpg à .png
Simplement avec l'aide de Clean Project
.
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.
En effet, votre fichier PNG n'est pas pris en charge ou vous avez renommé votre fichier directement.
Suivez les étapes suivantes.
Problème résolu :)
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.
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.
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.
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.
Fichier> Invalider les caches/redémarrer
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
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.
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 Fichier → Paramètres → Plugins → Parcourir 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.
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.
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:
Je ne sais pas pourquoi cela a fonctionné pour moi, mais ça a fonctionné. Bonne chance avec ce gâchis appelé Android Studio.
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.
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'à:
pip install pillow
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
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.
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:
La caméra prend en charge par défaut le format ".jpg"
Sans utiliser les outils d'image, ne changez pas les formats d'image (même par programmation).
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.
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.
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.
Dans mon cas, j'ai trouvé la solution en deux étapes:
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.)
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.
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.
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.