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

103

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 :)

bot.rubiks
quelle
Hast du noch mehr Glück gehabt? Ich erlebe das gleiche.
Mushcraft
1
Ich habe dieses Problem bereits gelöst, indem ich die Lösung hier geteilt habe -> stackoverflow.com/questions/22583418/…
ashumeow
2
Fehler: Dateipfad unter Windows zu lang, unter 240 Zeichen halten Versuchen Sie einfach, einen kürzeren Pfad für Ihr Projekt zu verwenden. In meinem Fall habe ich meine Projektquelle von einem anderen Ordner auf den Desktop verschoben und nach dem Öffnen des Projekts vom Desktop wurde dieses Problem automatisch behoben.
Lucky Rana
@LuckyRana gleiche arbeitete für mich
Bassem Wissa
Wie @LuckyRana sagte, ist weniger Zeichen wichtig, ich musste das Verzeichnis nicht ändern, mein Projektname war zu lang, also wurde es kürzer und es funktionierte. Dies kann hilfreich sein, wenn jemand mit dem Problem konfrontiert ist und sich sein Projekt bereits in einem Stammverzeichnis befindet.
Devcodes

Antworten:

128

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.

Smoothumut
quelle
13
Tipp: Wenn Sie mit einem Mac arbeiten, können Sie das Terminal öffnen und den folgenden Befehl im Bilderordner ausführen: 'sips -s format png * .png --out'. Es wird alle Dateien mit .png Sufix ordnungsgemäß in echte PNG-Dateien konvertieren :)
Cassioso
Das gleiche ist mir passiert. Ich habe auch eine Erweiterung von psd in png umbenannt und sie konnte nicht ausgeführt werden. habe genau diese Fehlermeldung erhalten.
TharakaNirmana
2
Diese Ausgabe wurde auch für mich reproduziert. Vielen Dank für Ihre Antwort.
Nisim Naim
@ Cassioso Danke Kumpel.
WideFide
1
Danke Kumpel .. habe mein Problem gelöst, indem ich genau das getan habe, was du erwähnt hast.
Aparna
116

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:

D:/Android/Apps/AndroidStudioProject/AppName

zu

D:/Android/AppName
Lakhan Sharma
quelle
Ich weiß nicht warum ... aber das ist das einzige, was für mich funktioniert hat. Ich danke dir sehr!
Drayn
1
Ja, ich kann nicht erklären warum. Aber das hat auch für mich gut
funktioniert
8
Könnte an einem Problem mit langen Wegen liegen.
Rajeev
1
Hatte das gleiche Problem unter Windows 7 x64, Gradle 2.14.1, Android Build Tools 24.0.2. Mein vollständiger Pfad zur Ressourcendatei war zu lang (243 Symbole). Als ich den Ordner mit dem Projekt umbenannte, wurde das Problem behoben.
Dmitry
Arbeitete auch für mich!. Hatte das Problem auf Android Studio 2.2.0
Zen
53

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ü DateiSpeichern unterAls Typ speichern → Wählen Sie den gewünschten Typ aus der Dropdown-Liste aus, wie in den folgenden Bildern gezeigt:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

anand krish
quelle
@krish Ich habe Änderungserweiterung mit Gimp, aber es scheint nicht anders zu funktionieren, bitte helfen Sie.
Ajay Pandya
1
Verwenden Sie das Malwerkzeug , um die Erweiterung des Bildes zu ändern. Es ist ziemlich einfach. Ich habe oben erklärt, wie man es auch benutzt ...
anand krish
1
Ich habe die Bilderweiterung mit Preview (auf Mac) geändert, habe perfekt funktioniert, vielen Dank!
Emzor
1
Achtung: Wenn Sie Paint verwenden, wird die Transparenz entfernt, wenn Ihr Bild transparent war.
Kingston
1
Das ist wirklich hilfreich, vielen
Dank
20

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.

Kadir Erturk
quelle
5
Das OP sagt, dass der Dateipfad nicht zu lang ist. Wenn Sie ihn dazu herausfordern wollen, wäre vielleicht ein Kommentar besser.
Jonathan Mee
Dies hat mit Windows-Pfadlängenbeschränkungen zu tun, wenn Bamboo unter Windows Server ausgeführt wird. Lösung: Bauen Sie auf Linux auf!
Ewoks
20

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

Beispielsweise:

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

Neu erstellen und fröhliche Codierung.

Heberth
quelle
Viel einfacher als das Projekt zu verschieben. Nett!
fishjd
Ich habe die Lösung ausprobiert und es hat funktioniert, aber jetzt kann ich sie nicht mehr von Visual Studio 2015 auf meinem Telefon bereitstellen. Die folgende Fehlermeldung wird angezeigt: "Eine bereitstellbare Apk konnte nicht gefunden werden. Möglicherweise müssen Sie Ihr Projekt erstellen."
Hassan Ata Ullah
9

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:

  1. Nichtübereinstimmung der Ressourcen

  2. Fehlende Attribute, falsche Tags usw. in Ressourcen

  3. Problem in Stilen

  4. Fehlender Name in Stilen

  5. Doppelarbeit von Ressourcen und Bibliotheken

  6. Manchmal kann es sogar gelöst werden, indem die kompatible Bibliothek in build.gradle geändert wird

  7. aaptBefehl ausführen

  8. Umbenennen der Erweiterung von .jpg in .png

  9. Einfach mit Hilfe von Clean Project.

    1. Selbst in einigen Fällen kann ein Neustart von Android Studio das Problem lösen.
SID --- Choke_de_Code
quelle
4

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.

  1. Kopieren Sie Ihre Bildquelldatei von Android Studio auf Ihren Desktop.
  2. Öffnen Sie die Datei mit Paint.
  3. Datei als Erweiterung .png speichern
  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 über Paint umbenannt haben.

Problem gelöst :)

Immer lernen
quelle
Ich habe tinypng.com für die Regeneration von PNG-Bildern verwendet
Junior Mayhé
4

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.

Guilherme Ramos
quelle
Ja, meine war ähnlich. Ich habe eine Bilddatei geändert und als ich sie gespeichert habe, wurde sie beschädigt. Ich musste nur die Anpassungen am Bild wiederholen und es erneut speichern.
uplearnedu.com
4

Wenn Sie Linux verwenden, versuchen Sie Folgendes:

sudo apt-get install lib32stdc++6 lib32z1

Es ist von hier .

Maksim Turaev
quelle
3

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 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.

Mattlaabs
quelle
3

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.

Mapsy
quelle
Danke dir. Ich hatte das gleiche Problem, erkannte es aber nicht. In der Fehlermeldung wurde die Pfadlänge nicht als Problem angegeben, und die Länge des Pfads zu der zu druckenden Datei lag deutlich unter 255. Trotzdem wurde das Problem auf meinem Buildcomputer behoben, indem eine env var GRADLE_USER_HOME auf etwas sehr Kurzes gesetzt wurde.
Albert C Braun
2

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.

elfekz
quelle
2

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.

AskQ
quelle
1

Datei> Caches ungültig machen / neu starten

Khan
quelle
1

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:

  1. Alles aus Drawable gelöscht
  2. Versucht auszuführen (was offensichtlich einen weiteren Build-Fehler verursachte, da ein Verweis auf Dateien fehlt
  3. Fügte die Bilder erneut zum Ordner hinzu, erstellte das Projekt neu, führte es aus und funktionierte dann einwandfrei.

Ich habe keine Ahnung, warum das bei mir funktioniert hat, aber es hat funktioniert. Viel Glück mit diesem Durcheinander nennen wir Android Studio.

rychrist88
quelle
1

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:

  1. Führen Sie zum Installieren der PIL-Bibliothek 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 das from_format an_format an Variablen im Skript , was Sie brauchen.

  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())

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

Merkur
quelle
1

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ü DateiEinstellungenPluginsRepositorys 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.

AmiNadimi
quelle
1

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

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

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

IvanP
quelle
+1, aber wir konnten das Problem auf unserem Build-Server nicht lösen. Pfad sieht gut aus, funktioniert aber nicht. Wir gingen zurück zum alten Gradle ...: /
Der unglaubliche
1

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:

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 es unter C: \ Benutzer ... gespeichert, was viel kürzer ist als der Systemprofilpfad.

Der unglaubliche Jan.
quelle
1

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,

Old_path: c/:user/android_studio_project/your_app
New_path: c/:your_app
Crime_Master_GoGo
quelle
0

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.

Sunil Purushothaman
quelle
0

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.

Muru
quelle
0

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.

Folder\Another Folder\MyAndroidProjects\...

Durch Ändern Folder\AnotherFolder\MyAndroidProjects\...und erneutes Synchronisieren von Gradle wurde dies für mich behoben.

Marcus
quelle
0

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.

Dasser Basyouni
quelle
0

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

  1. Halten Sie Ihren Projektnamen, Paketnamen und Ordnernamen kurz, denn wenn der Verzeichnisname mehr als 255 Zeichen enthält, wird der Fehler mergeResource ausgegeben.
  2. Bewahren Sie Ihre Zeichen in den Zeichenordnern auf. Jede zeichnbare Datei wie .jpg und .png außerhalb der zeichnbaren Ordner löst den Fehler mergeResource-Ordner aus.
DiRiNoiD
quelle
255 Zeichen? Welche Plattform? Linux? Mac?
Peter Mortensen
0

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:

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

  2. Ändern Sie die Bildformate nicht (auch nicht programmgesteuert), ohne Bildwerkzeuge zu verwenden.

Kona Suresh
quelle
Dateierweiterung! = Dateiformat Sie können eine Datei so benennen, wie Sie möchten - das Format wird dadurch nicht geändert.
Der unglaubliche
Ich verstehe nicht, was Sie sagen wollen!. Mein Bild wurde aus der benutzerdefinierten Kamera-App aufgenommen und programmgesteuert als .png gespeichert. Als ich dieses Bild zur Zeichnungsordner-Kompilierung hinzufügte, schlug die Kompilierung fehl. Wenn Sie das Bild von meiner Kamera-App als .jpg speichern, wird der Fehler nicht angezeigt.
Kona Suresh
Ich habe Ihre Antwort so verstanden: Ihre App hat ein JPG erstellt, es aber "png" genannt, und dann waren Sie überrascht, dass es nicht funktioniert hat.
Der unglaubliche
0

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.)

RATHI
quelle
0

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.

Kai Wang
quelle
0

Für mich war es eine beschädigte PNG-Datei .

Gehen Sie zu Ihrem resOrdner 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.

Floris M.
quelle
-1

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.

Wessam Hassan Ragab
quelle