Ich habe einige Bilder mit dem Format * .png zu meinem Zeichenverzeichnis hinzugefügt und es mit den Layouts verknüpft. Aber jedes Mal, wenn ich versuchte, es zu erstellen, erscheint ein Fehler
"... Crunching Crunsher ... png fehlgeschlagen"
Es folgt die Ausgabe der Konsole:
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
Ich habe versucht, das Projekt zu bereinigen, es neu zu erstellen, die Abhängigkeiten über "gradlew clean build --refresh-dependencies" zu aktualisieren, nichts hat funktioniert. Ich habe die Abhängigkeiten in der Datei build.gradle überprüft, aber nichts scheint den Fehler zu verursachen.
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'
}
Haben Sie eine Idee, woher der Fehler stammt? Der Dateipfad ist auch nicht zu lang und jedes Mal unter 256 Zeichen, das ist auch nicht das Problem: /
Vielen Dank im Voraus :)
Antworten:
In meinem Fall wurde der Fehler durch eine PNG-Datei verursacht, die ich dem Zeichenordner hinzugefügt habe. Ich hatte die Erweiterung von jpg in png geändert , indem ich den Text (auf unangemessene Weise) geändert und dann als PNG hochgeladen hatte.
Dies war das Problem, auf das Android Studio hinwies.
Ich habe dieses Problem behoben und den Fehler behoben, indem ich die Dateierweiterung mit dem Paint.NET- Tool oder einem anderen Tool (auf die richtige Weise) geändert und dann in den Zeichenordner hochgeladen habe.
quelle
Ich habe dieses Problem behoben, indem ich das Projekt in das äußere Verzeichnis verschoben und es dann erfolgreich kompiliert habe.
Dies lag am langen Pfad des Projektverzeichnisses.
Zum Beispiel habe ich das Projekt verschoben von:
zu
quelle
Dies ist darauf zurückzuführen, dass Sie ein Bild in Drawable mit einer Erweiterung wie (.jpg) hinzufügen und dieses in ein PNG-Format geändert oder gespeichert haben (dieser Fehler tritt auf, wenn Sie das Bildformat manuell ohne Verwendung eines Editor-Tools ändern).
Android Studio gibt beim Kompilieren des Ressourcenpakets mit AAPT (Android Asset Packaging Tool) einen Fehler aus. Sie müssen also nur einige Bildeditor-Tools wie GIMP oder Paint verwenden , um die Erweiterung entsprechend zu speichern. Erstellen Sie Ihr Projekt neu, sobald alles erledigt ist.
Beispiel: Öffnen Sie Ihr Bild in Paint (ziehen Sie es per Drag & Drop, um es zu öffnen) → Menü Datei → Speichern unter → Als Typ speichern → Wählen Sie den gewünschten Typ aus der Dropdown-Liste aus, wie in den folgenden Bildern gezeigt:
quelle
In meinem Fall war die Lösung einfach. Ich habe das gesamte Projekt an einen anderen Ort verschoben, an dem der Pfad kurz ist.
Das Problem wurde durch lange Verzeichnis- und Dateinamen verursacht.
quelle
Die beste Lösung besteht darin, buildDir in build.gradle zu ändern :
Beispielsweise:
Neu erstellen und fröhliche Codierung.
quelle
In meinem Fall habe ich dieses Problem gelöst, indem ich einfach meine Bibliotheksdatei geändert habe, da ich einen dummen Fehler gemacht habe, zwei verschiedene Versionen derselben Bibliothek hinzuzufügen.
Da dies verschiedene Gründe haben kann, habe ich die folgenden Möglichkeiten gefunden, um dieses Problem gemäß dem Problem zu lösen:
Nichtübereinstimmung der Ressourcen
Fehlende Attribute, falsche Tags usw. in Ressourcen
Problem in Stilen
Fehlender Name in Stilen
Doppelarbeit von Ressourcen und Bibliotheken
Manchmal kann es sogar gelöst werden, indem die kompatible Bibliothek in build.gradle geändert wird
aapt
Befehl ausführenUmbenennen der Erweiterung von .jpg in .png
Einfach mit Hilfe von
Clean Project
.quelle
Dies liegt daran, dass Ihre PNG-Datei nicht unterstützt wird oder Sie Ihre Datei direkt umbenannt haben.
Führen Sie die folgenden Schritte aus.
Problem gelöst :)
quelle
In meinem Fall verwendete meine ursprüngliche PNG-Datei beim Erstellen einer 9.png-Datei den Rand, an dem die 9.png-Linie gezeichnet wird, wodurch eine fehlerhafte 9.png-Datei erstellt wurde. Versuchen Sie, Ihrer PNG-Datei einen Rand hinzuzufügen.
quelle
Wenn Sie Linux verwenden, versuchen Sie Folgendes:
Es ist von hier .
quelle
Die beste Antwort gibt es bereits in der Gradle-Ausgabe:
Öffnen Sie das Terminal in Android Studio und führen Sie es aus
gradlew :app:mergeDebugResources --stacktrace
. (In meinem Fall war es das Windows 240-Zeichenlimit), aber es sollte Ihnen genauso gut die Hauptursache für jedes andere Problem geben.quelle
In meinem Fall hat dieses Problem meiner Meinung nach mit der Länge des Dateipfads zu tun. UNIX- und Windows-Systeme legen eine maximale Pfadlänge von 255 bzw. 260 Zeichen fest, und ich glaube, dass der Crunch-Prozess fehlschlägt, wenn ein dynamisch angegebener Pfad zugewiesen wird. Selbst wenn die in der Fehlermeldung angegebenen Pfadlängen kürzer als der Grenzwert sind (meiner war in einer Windows-Buildumgebung nur 187), kann das Crunch-Dienstprogramm intern einen längeren Pfad angeben, auch wenn dies nur vorübergehend ist.
Sie können feststellen, ob dies die Fehlerquelle ist, indem Sie Ihr Projekt in das Stammverzeichnis Ihres Dateisystems verschieben und dann erneut kompilieren.
quelle
Ich habe versucht, Gradle neu zu erstellen, neu zu starten, zu bereinigen, zu aktualisieren usw. Allerdings hat keiner von ihnen für mich funktioniert.
Manchmal kann dies durch eine falsche Benennung einer XML- oder Ressourcendatei verursacht werden.
Zumindest wurde dieses Problem für mich durch eine Namensänderung gelöst.
quelle
Ich habe festgestellt, dass das Herabstufen der Gradle-Build-Tools auf 1.2.3 mein Problem mit dem Crunching PNG-Fehler gelöst hat, aber unter 1.5.0 besteht das Problem weiterhin.
quelle
quelle
Ich hatte meine Bilder zu Beginn des Projekts in meinen Zeichenordner gelegt, und es gab mir immer diesen Fehler und erstellte nie so, dass ich:
Ich habe keine Ahnung, warum das bei mir funktioniert hat, aber es hat funktioniert. Viel Glück mit diesem Durcheinander nennen wir Android Studio.
quelle
Der Crunching-Prozess ist der Bildvorbereitungsprozess, was bedeutet, dass etwas mit Ihren Bilddateien nicht stimmt. In meinem Fall hatte ich eine PNG-Datei, die eigentlich keine PNG-Datei war.
Meine Lösung:
Ich habe alle meine Bilder in PNG konvertiert und ein supereinfaches Python-Skript aus dem Bildordner ausgeführt. Insgesamt müssen Sie also nur Folgendes tun:
Führen Sie zum Installieren der PIL-Bibliothek Folgendes aus:
pip install pillow
Speichern Sie den folgenden Python-Code in einer .py-Datei in Ihrem Bilderordner, den Sie konvertieren möchten.
Passen Sie das from_format an_format an Variablen im Skript , was Sie brauchen.
Skript ausführen:
python script_name.py
Wenn Sie mehr über das Image-Modul erfahren möchten: http://effbot.org/imagingbook/image.htm
quelle
Dieses Problem trat auf, als ich meine Bilder (unabhängig von JPEG oder PNG) manuell in den Zeichenordner kopierte. Es gibt möglicherweise verschiedene Arten von temporären Lösungen für dieses Problem, aber eine beste ewige Möglichkeit ist die Verwendung des Drawable-Importer-Plugins für Android Studio .
Installieren Sie es über: Menü Datei → Einstellungen → Plugins → Repositorys durchsuchen → Suchen Sie nach "Drawable". Als erste Option finden Sie den Importer Drawable. Klicken Sie im rechten Bereich auf Installieren.
Verwenden Sie es, indem Sie mit der rechten Maustaste auf den Ordner Drawable Resource klicken und dann auf new. Jetzt sehen Sie vier neue Optionen am Ende der Liste, und unter diesen finden Sie die entsprechende Option. In diesem Fall würde der "Batch Drawable Import" den Trick machen.
quelle
Ich habe dieses Problem nach der Migration auf Gradle 3.3 unter Windows erhalten (mit Gradle-2.14.1 war alles in Ordnung).
Das Problem lag im Pfad zum Gradle-Build-Cache, der kyrillische Zeichen enthält, wie z
Also habe ich den Ordner des Benutzers in "Ivan" umbenannt und das Problem war behoben.
quelle
Es scheint ein böses Problem von Gradle zu sein. Wir haben gerade ein Upgrade von 2.14 auf 3.3 durchgeführt und unser Build-Server konnte nicht mehr erstellt werden (ein lokaler Build in Android Studio hat funktioniert).
Fehler mit zu langem Pfad zeigt zum Beispiel:
Wir mussten ein lokales Benutzerkonto für den Dienst erstellen, der jahrelang als Systemdienst ausgeführt wurde ... Jetzt wird es unter C: \ Benutzer ... gespeichert, was viel kürzer ist als der Systemprofilpfad.
quelle
Ich habe den Speicherort der App geändert und auf einen kurzen Pfad kopiert. Sie können dies tun, indem Sie Ihr Projekt einfach kopieren und an einen neuen kurzen Speicherort einfügen. Und es hat bei mir funktioniert.
Beispielsweise,
quelle
Das Schließen von Android Studio und das erneute Öffnen haben dieses Problem in meinem Fall behoben.
Versuche es. Ich weiß, dass es nicht die richtige Lösung oder Antwort ist, aber es funktioniert. Ich bin mir nicht sicher über die Grundursache. Es wäre toll, wenn jemand das teilen könnte.
quelle
Ich habe eine Android-Anwendung in Android Studio (Gradle Version 2.10) aus Eclipse importiert. Die zeichnbaren Bilder werden nicht unterstützt. Entfernen Sie diese Bilder dann manuell und fügen Sie einige PNG-Bilder ein.
Aktualisieren Sie außerdem den Android Drawable Importer aus dem Android-Repository. Bereinigen Sie dann die Anwendung und erstellen Sie sie neu. Dann funktioniert sie.
quelle
Dieser Fehler wurde für mich aufgrund des Pfads verursacht, in dem sich mein Projekt befand. In einem Ordner befand sich beispielsweise ein Leerzeichen, z.
Durch Ändern
Folder\AnotherFolder\MyAndroidProjects\...
und erneutes Synchronisieren von Gradle wurde dies für mich behoben.quelle
Ich bin auch mit diesem Problem konfrontiert worden und es wurde nicht durch Neuformatierung des Bildes gelöst, obwohl es ein Bild aus einer Projekt-App von Google war, und es wurde nur gelöst durch:
Verschieben der Projektdatei direkt auf die Partition
Versuch es. Es könnte dir helfen.
quelle
In meinem Fall habe ich die Lösung in zwei Schritten erreicht:
quelle
Ich leide auch unter dem gleichen Problem. In meinem Fall habe ich das Bild gerade in den Zeichenordner kopiert, dann zeigt Android Studio den Fehler "Einige Dateiknirschungen sind fehlgeschlagen" an.
Mein Problem bezüglich des Bildes nur deshalb Bild von einer meiner angepassten Kameraanwendungen im PNG-Format gespeichert wurde. Und zu Testzwecken habe ich es in den Zeichenordner kopiert.
Danach habe ich das Speichern des Bildes als .jpg getestet. Es gab keinen Fehler. Das bedeutet, dass die Kamera standardmäßig das Format ".jpg" unterstützt.
Schließlich erkannte ich zwei Dinge:
Die Kamera unterstützt standardmäßig das Format ".jpg"
Ändern Sie die Bildformate nicht (auch nicht programmgesteuert), ohne Bildwerkzeuge zu verwenden.
quelle
Fügen Sie dies einfach zu Ihrer local.properties- Datei Ihres Projekts hinzu:
(Der Fehler in Windows ist auf einen langen Pfad zurückzuführen, daher habe ich den Pfad zu einem temporären Ordner angegeben.)
quelle
Für mich liegt es daran, dass eine meiner PNG-Dateien tatsächlich eine PSD-Datei ist. Speichern Sie es erneut in einer echten PNG-Datei, und es ist behoben.
quelle
Für mich war es eine beschädigte PNG-Datei .
Gehen Sie zu Ihrem
res
Ordner und versuchen Sie, jedes Bild zu öffnen. Wenn Sie ein Bild finden, das nicht geöffnet werden kann, ersetzen Sie es durch ein gutes Bild.quelle
Um dieses Problem zu lösen, sollten Sie drawable -> new -> image Asset verwenden und dann Ihre Bilder hinzufügen. Sie werden dann feststellen, dass der mipmap-Ordner Ihre Bilder enthält und Sie ihn unter @ mibmab / img verwenden können.
quelle