J'ai ajouté quelques images au format * .png à mon répertoire drawable et les ai liées aux mises en page. Mais chaque fois que j'ai essayé de le construire, une erreur apparaît
"... Crunching Crunsher ... png a é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, de rafraîchir 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, ce n'est pas non plus le problème: /
Merci d'avance :)
Réponses:
Dans mon cas, l'erreur a été causée par un fichier PNG que j'ai ajouté au dossier pouvant être dessiné. J'avais changé son extension de jpg en png en changeant le texte (d'une manière incorrecte) puis en le téléchargeant au format PNG.
C'était le problème sur lequel Android Studio pointait.
J'ai résolu 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 (de manière appropriée), puis en le téléchargeant dans le dossier pouvant être dessiné.
la source
J'ai résolu ce problème en déplaçant le projet vers le répertoire externe, puis il a é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:
à
la source
Cela est dû à l'ajout d'une image dans drawable qui a une extension comme (.jpg), et vous l'avez modifiée ou enregistrée au format .png (cette erreur se produira lors du changement manuel du format d'image sans utiliser d'outil d'édition).
Android Studio lèvera une erreur lors de la compilation du package de ressources à l'aide de AAPT (Android Asset Packaging Tool), il vous suffit donc d'utiliser certains outils d'édition d'image 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 et déposez votre image pour l'ouvrir) → menu Fichier → Enregistrer sous → Enregistrer comme type → sélectionnez le type souhaité dans la liste déroulante comme je l'ai montré dans les images ci-dessous:
la source
Dans mon cas, la solution était simple. J'ai déplacé l'ensemble du projet vers un autre emplacement où le chemin est court.
Le problème était dû à de longs noms de répertoires et de fichiers.
la source
La meilleure solution est de changer buildDir dans build.gradle :
Par exemple:
Reconstruire et codage heureux.
la source
Dans mon cas, j'ai résolu ce problème en changeant simplement mon fichier de bibliothèque car j'ai fait une erreur stupide en ajoutant deux versions différentes de la même bibliothèque.
Comme cela peut être dû à diverses raisons, j'ai découvert les moyens suivants pour résoudre ce problème en fonction du problème:
Inadéquation des ressources
Attributs manquants, balises erronées, 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écuter la
aapt
commandeRenommer l'extension de .jpg en .png
Simplement avec l'aide de
Clean Project
.la source
C'est parce que votre fichier PNG n'est pas pris en charge ou bien vous avez renommé votre fichier directement.
Suivez les étapes suivantes.
Problème résolu :)
la source
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 un mauvais fichier 9.png. Essayez d'ajouter une marge à votre fichier PNG.
la source
Si vous utilisez Linux, essayez ceci:
C'est d' ici .
la source
La meilleure réponse est déjà donnée dans la sortie gradle:
Ouvrez le terminal dans Android Studio et exécutez
gradlew :app:mergeDebugResources --stacktrace
. (Dans mon cas, c'était la limite de caractères Windows 240), mais cela devrait également vous donner la cause première de tout autre problème.la source
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 resserrement échoue lors de l'attribution à un chemin spécifié dynamiquement. Ainsi, même si les longueurs de chemin cité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 crunch peut spécifier en interne un chemin plus long, même temporairement.
Vous pouvez déterminer s'il s'agit de la source de l'erreur en déplaçant votre projet vers le répertoire le plus racine de votre système de fichiers, puis en tentant de le recompiler.
la source
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 de ressources.
Au moins, pour moi, ce problème a été résolu en changeant le nom.
la source
J'ai remarqué que la rétrogradation des outils de construction Gradle vers la version 1.2.3 a résolu mon problème d'erreur PNG Crunching, mais sur la version 1.5.0, le problème persiste.
la source
la source
J'avais mis mes images dans mon dossier dessinable au début du projet, et cela me donnerait toujours cette erreur et ne construisait jamais donc je:
Je ne sais pas pourquoi cela a fonctionné pour moi, mais cela a fonctionné. Bonne chance avec ce désordre que nous appelons Android Studio.
la source
Le processus de Crunching 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 en PNG en exécutant un script Python super simple à partir du dossier d'image, donc au total, tout ce que vous avez à faire est:
Afin d'installer la bibliothèque PIL, exécutez:
pip install pillow
Enregistrez le code Python ci-dessous dans un fichier .py dans votre dossier d'images que vous souhaitez convertir.
Ajustez les variables from_format, to_format dans le script à ce dont vous avez besoin.
Script de lancement:
python script_name.py
Et si vous souhaitez en savoir plus sur le module Image: http://effbot.org/imagingbook/image.htm
la source
J'ai rencontré ce problème lorsque j'ai copié mes images (peu importe JPEG ou PNG) dans le dossier dessiné manuellement. Il peut y avoir différents types de solutions temporaires à ce problème, mais un meilleur moyen éternel est d'utiliser le plugin d'importateur Drawable pour le studio Android .
Installez-le en allant dans: menu Fichier → Paramètres → Plugins → Parcourir les référentiels → rechercher "Drawable". Vous trouverez l'importateur Drawable comme première option. Cliquez sur installer dans le panneau de droite.
Utilisez-le en cliquant avec le bouton droit sur le dossier de ressources Drawable, puis sur 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 lots" ferait l'affaire.
la source
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 était dans le chemin d'accès au cache de construction Gradle, qui contient des caractères cyrilliques, comme
J'ai donc renommé le dossier de l'utilisateur en "Ivan", et le problème a disparu.
la source
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 build ne pouvait plus construire (une version locale dans Android Studio fonctionnait).
Une erreur avec un chemin trop long s'affiche par exemple:
Nous avons dû créer un compte d'utilisateur local pour le service qui a fonctionné en tant que 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.
la source
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,
la source
La fermeture d'Android Studio et la réouverture ont résolu ce problème dans mon cas.
Essaie. Je sais que ce n'est pas la bonne solution ou réponse, mais cela fonctionne. Je ne suis pas sûr de la cause profonde. Ce serait formidable si quelqu'un pouvait partager ça.
la source
J'importais une application Android dans Android Studio (Gradle version 2.10) depuis Eclipse. Les images dessinables ne sont pas prises en charge, puis supprimez manuellement ces images et collez certaines images PNG.
Et mettez également à jour l'importateur de dessin Android à partir du référentiel Android. Ensuite, nettoyez et reconstruisez l'application, puis cela fonctionne.
la source
Cette erreur a été causée pour moi à cause du chemin où se trouvait mon projet. Il y avait un espace vide dans un dossier, par exemple,
Le changer
Folder\AnotherFolder\MyAndroidProjects\...
et resynchroniser Gradle a résolu ce problème pour moi.la source
J'ai également rencontré ce problème, et il n'a pas été résolu en reformatant l'image bien qu'il s'agisse d'une image d'une application de projet de Google, et il n'a été résolu que par:
Déplacement direct du fichier projet sur la partition
Essayez-le. Cela pourrait vous aider.
la source
Dans mon cas, j'ai atteint la solution en deux étapes:
la source
Je souffre également du même problème. Dans mon cas, je viens de copier l'image dans le dossier pouvant être dessiné, puis Android Studio affiche l'erreur "Certains fichiers ont é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 pouvant être dessiné.
Après cela, j'ai testé l'enregistrement de l'image au format .jpg. Cela ne donnait aucune erreur. Cela signifie que la caméra prend en charge par défaut le format ".jpg".
Finalement j'ai réalisé deux choses:
L'appareil photo prend par défaut le format ".jpg"
Sans utiliser d'outils d'image, ne modifiez pas les formats d'image (même par programmation).
la source
Ajoutez simplement ceci à votre fichier local.properties de votre projet:
(L'erreur dans Windows est due à un long chemin, j'ai donc donné le chemin vers un dossier temporaire.)
la source
Pour moi, c'est parce que l'un de mes fichiers .png est en fait un fichier .psd. Réenregistrez-le dans un vrai fichier PNG, et il est corrigé.
la source
Pour moi, c'était un fichier PNG corrompu .
Accédez à votre
res
dossier et essayez d'ouvrir chaque image. Lorsque vous trouvez une image qui ne peut pas être ouverte, remplacez-la par une bonne image.la source
Pour résoudre ce problème, vous devez utiliser drawable -> new -> image asset, puis ajouter vos images. Vous trouverez alors le dossier mipmap contenant vos images, et vous pourrez l'utiliser par @ mibmab / img.
la source