webentwicklung-frage-antwort-db.com.de

Ausführung fehlgeschlagen für Task 'app: mergeDebugResources' Crunching Cruncher ... png fehlgeschlagen

Ich habe einige Bilder mit dem Format * .png zu meinem drawable-Verzeichnis hinzugefügt und mit den Layouts verknüpft. Aber jedes Mal, wenn ich versuchte, es zu bauen, erscheint ein Fehler 

"... Crunching Crunsher ... png fehlgeschlagen"

Folgendes ist 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, neu zu erstellen, die Abhängigkeiten über "gradlew clean build --refresh-dependencies" aufzufrischen, nichts hat funktioniert. Ich habe die Abhängigkeiten in der Datei build.gradle geprüft, aber es scheint nichts zu einem Fehler zu kommen. 

   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, wo liegt der Fehler? Der Dateipfad ist auch nicht zu lang und immer unter 256 Zeichen, dass auch nicht das Problem: /

Danke im Voraus :)

102
bot.rubiks

In meinem Fall wurde der Fehler durch eine PNG-Datei verursacht, die ich dem Zeichnungsordner hinzugefügt habe. Ich hatte die Erweiterung von jpg in png geändert, indem ich den Text (in unzulässiger Weise) geändert und dann als PNG hochgeladen habe.

Dies war das Problem, auf das Android Studio zeigte.

Ich habe dieses Problem behoben, und der Fehler wurde ausgeblendet, indem die Dateierweiterung mithilfe des Tools Paint.NET oder eines anderen Tools (ordnungsgemäß) geändert und anschließend in den zeichnerischen Ordner hochgeladen wurde.

128
smoothumut

Ich habe dieses Problem behoben, indem ich das Projekt in das äußere Verzeichnis verschoben und es dann erfolgreich kompiliert habe.

Dies lag an dem langen Pfad des Projektverzeichnisses.

Zum Beispiel habe ich das Projekt verschoben von: 

D:/Android/Apps/AndroidStudioProject/AppName

zu

D:/Android/AppName
116
Lakhan Sharma

Das liegt daran, dass Sie ein Bild in drawable hinzufügen, das eine Erweiterung wie (.jpg) hat, und Sie haben es geändert oder in einem .png-Format gespeichert (dieser Fehler tritt auf, wenn Sie das Bildformat manuell ändern, ohne ein Editor-Tool zu verwenden).

Android Studio gibt beim Kompilieren des Ressourcenpakets mit AAPT (Android Asset Packaging Tool) einen Fehler aus. Sie müssen also nur einige Bildbearbeitungsprogramme wie GIMP oder Paint verwenden, um die Erweiterung zu speichern entsprechend. Baue dein Projekt neu auf, wenn alles fertig ist.

Beispiel: Öffnen Sie Ihr Bild in Paint (ziehen Sie es mit Drag & Drop, um es zu öffnen) → Menü DateiSpeichern unterSpeichern als Typ → Wählen Sie den gewünschten Typ aus der Dropdown-Liste aus, wie I haben in den folgenden Bildern gezeigt:

 Enter image description here

 Enter image description here

53
anand krish

Die beste Lösung ist, buildDir in build.gradle zu ändern:

Zum Beispiel:

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

Wiederaufbau und fröhliches Programmieren.

20
Heberth

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 Verzeichnisnamen und Dateinamen verursacht.

20
Kadir Erturk

In meinem Fall habe ich dieses Problem gelöst, indem ich meine Bibliotheksdatei geändert habe weil ich einen dummen Fehler gemacht habe, zwei verschiedene Versionen derselben Bibliothek hinzuzufügen.

Da dies verschiedene Ursachen haben kann, habe ich folgende Möglichkeiten gefunden, um dieses Problem gemäß dem Problem zu lösen:

  1. Ungleichheit der Ressourcen

  2. Fehlende Attribute, falsche Tags usw. in Ressourcen

  3. Ausgabe in Stilen

  4. Fehlender Name in Stilen

  5. Duplizierung von Ressourcen und Bibliotheken

  6. Manchmal kann es sogar durch Ändern der kompatiblen Bibliothek in build.gradle gelöst werden

  7. Befehl aapt ausführen

  8. Umbenennen der Erweiterung von .jpg in .png

  9. Einfach mit Hilfe von Clean Project.

    1. Auch in einigen Fällen kann ein Neustart von Android Studio das Problem lösen.

Wenn ich eine 9.png-Datei erstellt habe, verwendete meine ursprüngliche PNG-Datei den Rand, an dem die 9.png-Linie gezeichnet ist, und erstellt eine fehlerhafte 9.png-Datei. Versuchen Sie, einen Rand Ihrer PNG-Datei hinzuzufügen.

4
Guilherme Ramos

Wenn Sie Linux verwenden, versuchen Sie Folgendes:

Sudo apt-get install lib32stdc++6 lib32z1

Es ist von hier .

4
Maksim Turaev

Dies ist darauf zurückzuführen, dass Ihre PNG-Datei nicht unterstützt wird oder Sie Ihre Datei direkt umbenannt haben.

Führen Sie die folgenden Schritte aus.

  1. Kopieren Sie Ihre Bildquelldatei von Android Studio auf Ihren Desktop.
  2. Öffnen Sie die Datei mit Paint.
  3. Speichern Sie die Datei als Erweiterung .png
  4. Löschen Sie die vorhandene Quelldatei aus Android Studio, die Sie kopiert haben.
  5. Fügen Sie die neu erstellte Datei hinzu, die Sie mit Paint umbenannt haben.

Problem gelöst :)

4
Learning Always

Die beste Antwort gibt es bereits in der Gradle-Ausgabe:

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

Öffnen Sie das Terminal in Android Studio und führen Sie gradlew :app:mergeDebugResources --stacktrace. (In meinem Fall war dies die Windows 240-Zeichenbeschränkung), es sollte jedoch auch die Ursache für jedes andere Problem sein.

3
mattlaabs

In meinem Fall glaube ich, dass dieses Problem mit der Länge des Dateipfads zusammenhängt. UNIX- und Windows-Systeme erfordern eine maximale Pfadlänge von 255 bzw. 260 Zeichen. Ich glaube, der Crunch-Prozess schlägt fehl, wenn er einem dynamisch angegebenen Pfad zugewiesen wird. Selbst wenn die zitierten Pfadlängen in der Fehlermeldung kürzer sind als das Limit (meiner waren nur 187 in einer Windows-Build-Umgebung), denke ich, dass das Dienstprogramm crunch intern einen längeren Pfad angeben kann, auch wenn es nur vorübergehend ist.

Sie können feststellen, ob dies die Fehlerquelle ist, indem Sie Ihr Projekt in das Stammverzeichnis der Datei Ihres Dateisystems verschieben und dann eine Neukompilierung durchführen.

3
Mapsy

Ich habe versucht, Gradle usw. neu zu erstellen, neu zu starten, zu reinigen, zu aktualisieren, usw.

Manchmal kann es durch eine falsche Benennung einer XML- oder Ressourcendatei verursacht werden.

Zumindest für mich wurde dieses Problem gelöst, indem der Name geändert wurde.

2
elfekz

Ich habe festgestellt, dass downgrading Gradle build tools auf 1.2.3 mein Problem mit dem Crunching PNG-Fehler gelöst hat, aber bei 1.5.0 bleibt das Problem bestehen.

2
AskQ

Datei> Caches ungültig machen/neu starten

1
Khan

Ich habe den Ort der App geändert und auf einen kurzen Pfad kopiert. Sie können das tun, indem Sie einfach Ihr Projekt kopieren und an einem neuen Short-Standort einfügen .. und es hat für mich funktioniert.

Zum Beispiel, 

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

Es scheint ein unangenehmes 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 bauen (ein lokaler Build in Android Studio hat funktioniert).

Fehler mit zu langem Pfad zeigt zum Beispiel:

C:\Windows\System32\config\systemprofile.gradle\Cache\3.3\scripts-remapped\build_bonsjy48fqq8sotonpgrvhswt\36ejadunoxgw3iugkh95lqw\projedd7e29570ae79482d0308d82f4e346b\classes\build_bonsjy48fqq8sotonpgrvhswt $ _run_closure1 $ _closure8 $ _closure13 $ _closure14 $ _closure15.class

Wir mussten ein lokales Benutzerkonto für den Dienst erstellen, der jahrelang als Systemdienst ausgeführt wurde ... Jetzt wird unter C:\Users ... gespeichert.

1

Dieses Problem trat auf, als ich meine Bilder (egal ob JPEG oder PNG) manuell in den Zeichenordner kopiert hatte. Es gibt möglicherweise verschiedene Arten von temporären Lösungen für dieses Problem, aber der beste ewige Weg ist die Verwendung des Drawable Importer-Plugins für Android Studio .

Installieren Sie es, indem Sie Folgendes aufrufen: Menü DateiEinstellungenPluginsDurchsuchen der Repositorys → Suche "Drawable". Als erste Option finden Sie den Drawable Importer. Klicken Sie im rechten Fensterbereich auf Installieren.

Verwenden Sie es, indem Sie mit der rechten Maustaste auf den Ordner Drawable resource klicken und dann auf new klicken. Jetzt sehen Sie vier neue Optionen, die am Ende der Liste hinzugefügt wurden. Unter diesen Optionen finden Sie die entsprechende Option. In diesem Fall wäre der "Batch Drawable Import" der Trick.

1
AmiNadimi

Ich habe dieses Problem nach der Migration zu Gradle 3.3 unter Windows erhalten (mit gradle-2.14.1 war alles in Ordnung).

Das Problem bestand im Pfad zum Gradle-Build-Cache, der kyrillische Zeichen enthält, wie z

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

Also habe ich den Ordner des Benutzers in "Ivan" umbenannt und das Problem war weg.

1
IvanP

Ich hatte meine Bilder zu Beginn des Projekts in meinen Zeichnungsordner gelegt, und es würde mir immer diesen Fehler geben und ich würde nie so bauen:

  1. Alles vom Zeichnen gelöscht 
  2. Versucht zu laufen (was offensichtlich einen anderen Build-Fehler verursacht hat, weil ein Verweis auf Dateien fehlt) 
  3. Fügen Sie die Bilder dem Ordner erneut hinzu, erstellen Sie das Projekt neu, führen Sie es aus, und es hat gut funktioniert.

Ich habe keine Ahnung, warum das für mich funktioniert hat, aber es tat es. Viel Glück mit diesem Durcheinander nennen wir Android Studio.

1
rychrist88

Der Crunching-Prozess ist der Bildvorbereitungsprozess. Dies bedeutet, dass mit Ihren Bilddateien etwas nicht stimmt. In meinem Fall hatte ich eine PNG-Datei, die eigentlich keine PNG-Datei war.

Meine Lösung:

Ich habe alle meine Bilder nach PNG konvertiert und dabei ein sehr einfaches Python-Skript aus dem Bildordner ausgeführt. Alles in allem müssen Sie also nur Folgendes tun:

  1. Um die PIL-Bibliothek zu installieren, führen Sie Folgendes aus: pip install pillow
  2. Speichern Sie den folgenden Python-Code in einer .py-Datei in Ihrem Bilderordner, den Sie konvertieren möchten.
  3. Passen Sie die Variablen from_format, to_format im Skript an Ihre Anforderungen an.
  4. Skript ausführen: 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())
    

Und wenn Sie mehr über das Image-Modul erfahren möchten: http://effbot.org/imagingbook/image.htm

1
Mercury

Ich bin auch mit diesem Problem konfrontiert, und es wurde nicht durch eine Neuformatierung des Bildes gelöst, obwohl es sich um ein Bild aus einer Projekt-App von Google handelte, und es wurde nur gelöst von

Die Projektdatei direkt auf die Partition verschieben  

Versuch es. Es könnte dir helfen.

0
Dasser Basyouni

Ich leide auch unter dem gleichen Problem. In meinem Fall habe ich das Bild gerade in den zeichnerischen Ordner kopiert, dann zeigt Android Studio den Fehler "Fehler beim Datei-Knacken".

Mein Problem in Bezug auf das Bild nur, weil dieses Bild von einer meiner benutzerdefinierten Kameraanwendung 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 heißt, die Kamera unterstützt standardmäßig das Format ".jpg".

Schließlich habe ich zwei Dinge realisiert:

  1. Die Kamera unterstützt standardmäßig das Format ".jpg"

  2. Ändern Sie ohne Verwendung von Bildwerkzeugen die Bildformate nicht (auch nicht programmgesteuert).

0
Kona Suresh

Für mich ist es, weil eine meiner .png-Dateien tatsächlich eine .psd-Datei ist. Speichern Sie es in eine echte PNG-Datei, und es wurde behoben.

0
Kai Wang

Dieser Fehler wurde für mich aufgrund des Pfads verursacht, in dem sich mein Projekt befand. Es gab ein leeres Feld in einem Ordner, zum Beispiel

Folder\Another Folder\MyAndroidProjects\...

Das Ändern in Folder\AnotherFolder\MyAndroidProjects\... und die Neusynchronisierung von Gradle löste dies für mich.

0
Marcus

Um dieses Problem zu lösen, sollten Sie drawable -> new -> image asset verwenden und Ihre Bilder hinzufügen. Sie finden dann den Mipmap-Ordner, der Ihre Bilder enthält, und Sie können ihn unter @ mibmab/img verwenden.

0

In meinem Fall habe ich die Lösung in zwei Schritten erreicht:

  1. Behalten Sie den Projektnamen, den Paketnamen und die Ordnernamen kurz, da der Verzeichnisname mehr als 255 Zeichen enthält und der Fehler mergeResource ausgegeben wird.
  2. Behalten Sie Ihre Drawables in den Drawable-Ordnern. Jede zeichnbare Datei, z. B. .jpg und .png außerhalb der zeichnbaren Ordner, löst den Fehler im Ordner mergeResource aus.
0
DiRiNoiD

Fügen Sie dies einfach zu Ihrer local.properties -Datei Ihres Projekts hinzu:

BUILD_DIR=C\:\\Tmp

(Der Fehler in Windows ist auf einen langen Pfad zurückzuführen, daher habe ich den Pfad zu einem temporären Ordner angegeben.)

0
RATHI

Ich habe eine Android-Anwendung in Android Studio (Gradle-Version 2.10) von Eclipse importiert. Die gezeichneten Bilder werden nicht unterstützt. Entfernen Sie diese Bilder dann manuell und fügen Sie einige PNG-Bilder ein.

Aktualisieren Sie auch den Android Drawer-Importer aus dem Android-Repository. Bereinigen Sie die Anwendung und erstellen Sie sie neu. Dann funktioniert sie.

0
naga muru

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.

0
Floris M

Das Schließen von Android Studio und das erneute Öffnen lösten dieses Problem in meinem Fall. 

Versuche es. Ich weiß, dass es nicht die richtige Lösung oder Antwort ist, aber es funktioniert. Ich bin mir nicht sicher, was die Ursache ist. Es wäre toll, wenn jemand das teilen könnte.

0