Eksekusi gagal untuk tugas 'app: mergeDebugResources' Crunching Cruncher… png gagal


103

Saya telah menambahkan beberapa gambar dengan format * .png ke direktori drawable saya dan menautkannya dengan tata letak. Tetapi setiap kali saya mencoba membangunnya, muncul kesalahan

"... Crunching Crunsher ... png gagal"

Berikut adalah output dari konsol tersebut:

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

Saya mencoba untuk membersihkan proyek, membangunnya kembali, menyegarkan ketergantungan melalui "gradlew clean build --refresh-dependencies", tidak ada yang berhasil. Saya telah memeriksa dependensi dalam file build.gradle tetapi sepertinya tidak ada yang membuat kesalahan.

   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'
  }

Tahukah Anda, apa sumber kesalahannya? Filepathnya juga tidak terlalu panjang dan setiap ada 256 tanda, itu juga bukan masalah: /

Terima kasih sebelumnya :)


apakah kamu beruntung lagi dalam hal ini? Saya mengalami hal yang sama.
mushcraft

1
Saya sudah memecahkan masalah ini dengan membagikan solusinya di sini -> stackoverflow.com/questions/22583418/…
ashumeow

2
Kesalahan: Jalur file terlalu panjang di windows, pertahankan di bawah 240 karakter Coba gunakan jalur yang lebih pendek untuk proyek Anda. Dalam kasus saya, saya telah memindahkan sumber proyek saya dari folder lain ke desktop dan setelah membuka proyek dari desktop masalah ini diselesaikan secara otomatis.
Lucky Rana

@LuckyRana sama bekerja untuk saya
Bassem Wissa

Seperti yang dikatakan @LuckyRana, lebih sedikit jumlah karakter itu penting, saya tidak perlu mengubah direktori, nama proyek saya terlalu panjang, jadi membuatnya lebih pendek dan berfungsi. Ini mungkin membantu jika seseorang menghadapi masalah dan proyek mereka sudah ada di direktori root.
devcode

Jawaban:


128

Dalam kasus saya, kesalahan tersebut disebabkan oleh file PNG yang saya tambahkan ke folder drawable. Saya telah mengubah ekstensinya dari jpg menjadi png dengan mengubah teksnya (dengan cara yang tidak benar) dan kemudian mengunggahnya sebagai PNG.

Ini adalah masalah yang ditunjukkan oleh Android Studio.

Saya memperbaiki masalah ini dan membuat kesalahan hilang dengan mengubah ekstensi file menggunakan alat Paint.NET atau alat lain (cara yang tepat), lalu mengunggahnya ke folder drawable.


13
Tip: jika Anda menggunakan mac os Anda dapat membuka terminal dan menjalankan perintah berikut dari folder gambar: 'sips -s format png * .png --out.' Ini akan mengonversi semua file dengan sufix .png menjadi file PNG yang sebenarnya :)
cassioso

hal yang sama terjadi pada saya. Saya juga mengganti nama ekstensi dari psd ke png dan gagal dijalankan. mendapat pesan kesalahan persis seperti ini.
TharakaNirmana

2
Masalah ini muncul kembali untuk saya juga. Terima kasih banyak atas jawaban Anda.
Nisim Naim

@cassioso Terima kasih sobat.
WideFide

1
Terima kasih sobat .. menyelesaikan masalah saya dengan melakukan hal yang sama seperti yang Anda sebutkan.
Aparna

116

Saya memperbaiki masalah ini dengan memindahkan proyek ke direktori luar, dan kemudian berhasil dikompilasi.

Itu karena jalur direktori proyek yang panjang.

Misalnya, saya memindahkan proyek dari:

D:/Android/Apps/AndroidStudioProject/AppName

untuk

D:/Android/AppName

Saya tidak tahu mengapa .. tapi hanya itu yang berhasil bagi saya. Terima kasih banyak!
drayn

1
Ya, saya tidak bisa menjelaskan mengapa. Tapi ini juga bekerja dengan baik untuk saya
Thilaw Fabrice

8
Mungkin karena masalah jalur panjang.
Rajeev

1
Punya masalah yang sama pada Windows 7 x64, Gradle 2.14.1, Android build tools 24.0.2. Jalur lengkap saya ke file sumber daya terlalu panjang (243 simbol). Ketika saya mengganti nama folder dengan proyek itu memperbaiki masalah.
Dmitry

Bekerja untuk saya juga !. Punya masalah pada Android studio 2.2.0
Zen

53

Ini karena menambahkan gambar dalam drawable yang memiliki beberapa ekstensi seperti (.jpg), dan Anda telah mengubah atau menyimpannya ke format .png (kesalahan ini akan terjadi saat mengubah format gambar secara manual tanpa menggunakan alat editor).

Android Studio akan membuat kesalahan saat menyusun paket sumber daya menggunakan AAPT (Android Asset Packaging Tool), jadi yang perlu Anda lakukan hanyalah menggunakan beberapa alat editor gambar seperti GIMP atau Paint untuk menyimpan ekstensi yang sesuai. Bangun kembali proyek Anda setelah semuanya selesai.

Misalnya: buka gambar Anda di Paint (seret dan jatuhkan gambar Anda untuk membukanya) → menu FileSave AsSave as Type → pilih jenis yang Anda inginkan dari dropdown seperti yang saya tunjukkan pada gambar di bawah ini:

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini


@krish Saya telah mengubah ekstensi dengan gimp tetapi tampaknya tidak berfungsi dengan cara lain, tolong bantu.
Ajay Pandya

1
gunakan alat Paint untuk mengubah Ekstensi Gambar Bung, itu cukup Mudah. Saya telah menjelaskan di atas tentang cara menggunakannya juga ...
anand krish

1
Saya mengubah ekstensi gambar dengan Pratinjau (di Mac), bekerja dengan sempurna, terima kasih banyak!
Emzor

1
Word of Caution: Menggunakan Paint akan menghapus transparansi jika ada transparansi di Gambar Anda.
Kingston

1
ini sangat membantu sekali
Achref Gassoumi

20

Dalam kasus saya, solusinya sederhana. Saya memindahkan seluruh proyek ke lokasi lain yang jalurnya pendek.

Masalahnya disebabkan oleh nama direktori dan nama file yang panjang.


5
OP tidak mengatakan bahwa jalur file tidak terlalu lama. Jika Anda ingin menantangnya tentang hal itu, mungkin komentar akan lebih baik.
Jonathan Mee

Ini ada hubungannya dengan batas panjang jalur Windows saat Bamboo berjalan di Windows Server. Solusi: Bangun di Linux!
Ewoks

20

Solusi terbaik adalah mengubah buildDir di build.gradle :

Sebagai contoh:

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

Buat ulang dan selamat membuat kode.


Jauh lebih mudah daripada memindahkan proyek. Bagus!
fishjd

Mencoba solusi dan berhasil tetapi sekarang saya tidak dapat menyebarkan ke ponsel saya dari Visual Studio 2015. Dapatkan kesalahan berikut "Tidak dapat menemukan apk yang dapat diterapkan. Anda mungkin perlu membangun proyek Anda."
Hassan Ata Ullah

9

Dalam kasus saya, saya memecahkan masalah ini hanya dengan mengubah file perpustakaan saya karena saya membuat kesalahan konyol dengan menambahkan dua versi berbeda dari perpustakaan yang sama.

Karena ini dapat disebabkan oleh berbagai alasan, saya menemukan cara berikut untuk menyelesaikan masalah ini sesuai masalah:

  1. Ketidakcocokan sumber daya

  2. Atribut hilang, tag salah, dll. Dalam sumber daya

  3. Masalah gaya

  4. Nama hilang dalam gaya

  5. Duplikasi sumber daya dan perpustakaan

  6. Kadang-kadang bahkan dapat diselesaikan dengan mengubah pustaka yang kompatibel di build.gradle

  7. Menjalankan aaptperintah

  8. Mengganti nama ekstensi dari .jpg menjadi .png

  9. Cukup dengan bantuan Clean Project.

    1. Bahkan dalam beberapa kasus, memulai ulang Android Studio dapat menyelesaikan masalah.

4

Ini karena file PNG Anda tidak didukung atau Anda mengganti nama file Anda secara langsung.

Lakukan langkah-langkah berikut.

  1. Salin file sumber gambar Anda dari Android Studio ke desktop Anda.
  2. Buka file dengan Paint.
  3. Simpan file sebagai ekstensi .png
  4. Hapus file sumber yang ada dari Android Studio yang Anda salin.
  5. Tambahkan file yang baru dibuat yang Anda ubah namanya melalui Paint.

Masalah terpecahkan :)


Saya telah menggunakan tinypng.com untuk meregenerasi gambar png
Junior Mayhé

4

Dalam kasus saya, ketika saya membuat file 9.png, file PNG asli saya menggunakan margin di mana garis 9.png digambar, membuat file 9.png yang buruk. Coba tambahkan beberapa margin ke file PNG Anda.


Ya, saya mirip dengan ini. Saya mengubah file gambar dan ketika saya menyimpannya, itu menjadi rusak. Saya hanya perlu mengulangi penyesuaian pada gambar dan menyimpannya kembali.
uplearnedu.com

4

Jika Anda menjalankan Linux, coba ini:

sudo apt-get install lib32stdc++6 lib32z1

Itu dari sini .


3

Jawaban terbaik sudah diberikan dalam keluaran gradle:

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

Buka Terminal di Android Studio dan jalankan gradlew :app:mergeDebugResources --stacktrace. (Dalam kasus saya, itu adalah batas karakter Windows 240), tetapi itu juga akan memberi Anda akar penyebab untuk masalah lain apa pun.


3

Dalam kasus saya, saya yakin masalah ini berkaitan dengan panjang jalur file. Sistem UNIX dan Windows memberlakukan panjang jalur maksimum 255 dan 260 karakter, dan saya yakin proses krisis gagal saat menetapkan ke jalur yang ditentukan secara dinamis. Jadi, meskipun panjang jalur yang dikutip dalam pesan kesalahan lebih pendek dari batas (milik saya hanya 187 dalam lingkungan build Windows), saya pikir utilitas crunch dapat secara internal menentukan jalur yang lebih panjang, bahkan jika hanya untuk sementara.

Anda dapat menentukan apakah ini sumber kesalahan dengan memindahkan proyek Anda ke direktori paling root pada sistem file Anda, lalu coba kompilasi ulang.


Terima kasih. Saya memiliki masalah yang sama tetapi tidak menyadarinya. Pesan kesalahan tidak menunjukkan panjang jalur karena masalah dan panjang jalur ke file yang dicetaknya di bawah 255. Namun demikian, menyetel env var GRADLE_USER_HOME ke sesuatu yang sangat singkat memperbaiki masalah pada mesin build saya.
albert c braun

2

Saya mencoba membangun kembali, memulai ulang, membersihkan, memperbarui Gradle, dll. Namun, tidak ada yang berhasil untuk saya.

Terkadang, hal ini dapat disebabkan oleh penamaan yang salah untuk XML atau file sumber daya.

Setidaknya, bagi saya, masalah itu diselesaikan dengan mengganti nama.


2

Saya perhatikan bahwa mendowngrade alat build Gradle ke 1.2.3 memecahkan masalah saya dari kesalahan Crunching PNG, tetapi pada 1.5.0 masalahnya terus berlanjut.



1

Saya telah memasukkan gambar saya ke dalam folder drawable saya di awal proyek, dan itu akan selalu memberi saya kesalahan ini dan tidak pernah membangun jadi saya:

  1. Menghapus semuanya dari drawable
  2. Mencoba menjalankan (yang jelas menyebabkan kesalahan versi lain karena referensi ke file tidak ada
  3. Menambahkan kembali gambar ke folder, membuat ulang proyek, menjalankannya, dan kemudian berfungsi dengan baik.

Saya tidak tahu mengapa ini berhasil untuk saya, tetapi itu berhasil. Semoga berhasil dengan kekacauan ini yang kami sebut Android Studio.


1

Proses Crunching adalah proses persiapan gambar, yang berarti ada yang salah dengan file gambar Anda. Dalam kasus saya, saya memiliki file PNG yang sebenarnya bukan file PNG.

Solusi saya:

Saya mengonversi semua gambar saya ke PNG menjalankan skrip Python super sederhana dari dalam folder gambar, jadi secara total yang perlu Anda lakukan adalah:

  1. Untuk menginstal perpustakaan PIL, jalankan: pip install pillow

  2. Simpan kode Python di bawah ini dalam file .py dalam folder gambar Anda yang ingin Anda konversi.

  3. Sesuaikan variabel from_format, to_format dalam skrip dengan apa pun yang Anda butuhkan.

  4. Jalankan skrip: 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())

Dan jika Anda ingin membaca lebih lanjut tentang modul Image: http://effbot.org/imagingbook/image.htm


1

Saya menghadapi masalah ini ketika saya menyalin gambar saya (tidak peduli JPEG atau PNG) ke dalam folder drawable secara manual. Mungkin ada berbagai jenis solusi sementara untuk masalah ini, tetapi satu cara terbaik selamanya adalah menggunakan plugin importir Drawable untuk Android studio .

Instal dengan masuk ke: menu FileSettingsPluginsBrowse Repositories → cari "Drawable". Anda akan menemukan importir Drawable sebagai opsi pertama. Klik instal di panel kanan.

Gunakan dengan mengklik kanan pada folder Sumber daya yang dapat digambar dan kemudian baru. Sekarang Anda dapat melihat empat opsi baru ditambahkan ke bagian bawah daftar, dan di antaranya Anda akan menemukan opsi yang sesuai. Dalam hal ini, "Impor drawable batch" akan berhasil.


1

Saya mendapat masalah ini setelah migrasi ke Gradle 3.3, di Windows (dengan gradle-2.14.1 semuanya baik-baik saja).

Masalahnya ada di jalur ke build-cache Gradle, yang berisi karakter Sirilik, seperti

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

Jadi saya mengganti nama folder pengguna menjadi "Ivan", dan masalahnya hilang.


+1 tetapi kami tidak dapat menyelesaikan masalah di server build kami. Path terlihat bagus tapi tidak berhasil. Kami kembali ke gradle lama ...: /
Jan

1

Tampaknya ini adalah masalah buruk Gradle. Kami baru saja meningkatkan dari 2.14 ke 3.3 dan server build kami tidak dapat membangun lagi (build lokal di Android Studio berfungsi).

Kesalahan dengan jalur yang terlalu panjang menunjukkan misalnya:

C: \ Windows \ System32 \ config \ systemprofile.gradle \ caches \ 3.3 \ scripts-remapped \ build_bonsjy48fqq8sotonpgrvhswt \ 36ejadunoxgw3iugkh95lqw \ projedd7e29570ae79482d0308d82f4e346b_closure $ _b146b_closure

Kami harus membuat akun pengguna lokal untuk layanan yang berjalan sebagai layanan sistem selama bertahun-tahun ... Sekarang disimpan di bawah C: \ Users ... yang jauh lebih pendek sebagai jalur profil sistem.


1

Saya mengubah lokasi aplikasi dan menyalinnya ke jalur pendek. Anda dapat melakukannya hanya dengan menyalin proyek Anda dan menempelkannya ke Lokasi Singkat baru. Dan, itu berhasil untuk saya.

Sebagai contoh,

Old_path: c/:user/android_studio_project/your_app
New_path: c/:your_app

0

Menutup Android Studio dan membuka lagi menyelesaikan masalah ini dalam kasus saya.

Cobalah. Saya tahu ini bukan solusi atau jawaban yang tepat, tetapi berhasil. Saya tidak yakin tentang akar masalahnya. Akan sangat bagus jika seseorang dapat membagikannya.


0

Saya mengimpor aplikasi Android di Android Studio (Gradle versi 2.10) dari Eclipse. Gambar drawable tidak didukung, lalu hapus gambar tersebut secara manual dan tempelkan beberapa gambar PNG.

Dan juga perbarui importir drawable Android dari repositori Android. Kemudian bersihkan dan bangun kembali aplikasi tersebut, lalu berfungsi.


0

Kesalahan ini terjadi pada saya karena jalur lokasi proyek saya. Ada ruang kosong di satu folder, misalnya,

Folder\Another Folder\MyAndroidProjects\...

Mengubahnya menjadi Folder\AnotherFolder\MyAndroidProjects\...dan menyinkronkan ulang Gradle menyelesaikan masalah ini untuk saya.


0

Saya juga menghadapi masalah ini, dan itu belum diselesaikan dengan memformat ulang gambar meskipun itu adalah gambar dari aplikasi proyek Google, dan itu hanya diselesaikan dengan:

Memindahkan file proyek ke partisi secara langsung

Cobalah. Ini mungkin membantu Anda.


0

Dalam kasus saya, saya mencapai solusi dalam dua langkah:

  1. Jaga agar nama proyek Anda, nama paket, nama folder tetap pendek, karena jika nama direktori melebihi 255 karakter itu memberikan kesalahan mergeResource.
  2. Pertahankan drawable Anda di folder drawable. File drawable apa pun seperti .jpg dan .png di luar folder drawable menimbulkan kesalahan folder mergeResource.

255 karakter? Platform apa? Linux? Mac?
Peter Mortensen

0

Saya juga menderita masalah yang sama. Dalam kasus saya, saya baru saja menyalin gambar ke folder drawable, lalu Android Studio menampilkan kesalahan "Beberapa file gagal berderak".

Masalah saya mengenai gambar hanya karena gambar itu disimpan dari salah satu aplikasi kamera kustom saya dalam format .png. Dan untuk tujuan pengujian, saya menyalinnya ke folder drawable.

Setelah itu saya menguji menyimpan gambar sebagai .jpg. Itu tidak memberikan kesalahan apapun. Artinya, kamera secara default mendukung format ".jpg".

Akhirnya saya menyadari dua hal:

  1. Kamera secara default mendukung format ".jpg"

  2. Tanpa menggunakan alat gambar, jangan ubah format gambar (bahkan secara terprogram).


ekstensi file! = format file Anda dapat memberi nama file seperti yang Anda inginkan - itu tidak akan mengubah formatnya.
Tanggal

Saya tidak mengerti apa yang Anda coba katakan !. Gambar saya diambil dari aplikasi kamera khusus dan disimpan sebagai .png secara terprogram. Jadi ketika saya menambahkan gambar itu ke kompilasi folder drawable gagal. ketika menyimpan gambar dari aplikasi kamera saya sebagai .jpg itu tidak akan memberikan kesalahan.
Kona Suresh

Saya memahami jawaban Anda seperti ini: aplikasi Anda membuat jpg tetapi menamakannya "png" dan kemudian Anda terkejut karena tidak berhasil.
luar biasa

0

Cukup tambahkan ini ke file local.properties proyek Anda:

BUILD_DIR=C\:\\Tmp

(Kesalahan di Windows karena jalur yang panjang, jadi saya memberikan jalur ke satu folder sementara.)


0

Bagi saya, itu karena salah satu file .png saya sebenarnya adalah file .psd. Simpan kembali ke file PNG asli, dan sudah diperbaiki.


0

Bagi saya, itu adalah file PNG yang rusak .

Buka resfolder Anda dan coba buka setiap gambar. Saat Anda menemukan gambar yang tidak bisa dibuka, gantilah dengan gambar yang bagus.


-1

Untuk mengatasi masalah ini Anda harus menggunakan drawable -> new -> image asset dan kemudian menambahkan gambar Anda. Anda kemudian akan menemukan folder mipmap berisi gambar Anda, dan Anda dapat menggunakannya dengan @ mibmab / img.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.