タスク「app:mergeDebugResources」の実行が失敗しましたCrunching Cruncher…pngが失敗しました


103

* .png形式の画像をドローアブルディレクトリに追加して、レイアウトにリンクしました。しかし、それをビルドしようとするたびに、エラーが表示されます

「... Crunching Crunsher ... png failed」

コンソールの出力は次のとおりです。

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

私はプロジェクトをクリーンアップし、再ビルドし、「gradlew clean build --refresh-dependencies」を介して依存関係を更新しようとしましたが、何も機能しませんでした。build.gradleファイルの依存関係を確認しましたが、エラーが発生しているようには見えません。

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

あなたはアイデアを持っていますか、エラーの原因は何ですか?また、ファイルパスは長すぎず、毎回256記号を下回っています。これも問題ではありません:/

前もって感謝します :)


これでこれ以上の運はありましたか?私は同じことを経験しています。
mushcraft 2015年

1
> -私はすでにここに解決策を共有することで、この問題を解決しstackoverflow.com/questions/22583418/...
ashumeow

2
エラー:Windowsではファイルパスが長すぎます。240文字未満にしてください。プロジェクトには短いパスを使用してください。私の場合、プロジェクトソースを他のフォルダからデスクトップに移動しました。デスクトップからプロジェクトを開いた後、この問題は自動的に解決しました。
ラッキーラナ

@LuckyRana同じことが私のために働いた
Bassem Wissaを

@LuckyRanaが言ったように、文字数を少なくすることが重要で、ディレクトリを変更する必要はありませんでした。プロジェクト名が長すぎるため、短くして機能しました。これは、誰かが問題に直面し、プロジェクトがすでにルートディレクトリにある場合に役立つことがあります。
2017年

回答:


128

私の場合、エラーはドローアブルフォルダーに追加したPNGファイルが原因でした。テキストを(不適切な方法で)変更し、PNGとしてアップロードすることにより、拡張子をjpgからpngに変更しました。

これはAndroid Studioが指摘していた問題でした。

この問題を修正し、Paint.NETツールまたはその他のツール(適切な方法)を使用してファイル拡張子を変更し、それを描画可能なフォルダーにアップロードすることで、エラーを解消しました。


13
ヒント:Mac OSを使用している場合は、ターミナルを開いて、イメージフォルダーから次のコマンドを実行できます: 'sips -s format png * .png --out。' .png接尾辞を持つすべてのファイルを実際のPNGファイルに適切に変換します:)
cassioso

同じことが私にも起こりましたが、拡張子もpsdからpngに変更しましたが、実行に失敗しました。この正確なエラーメッセージが表示されました。
TharakaNirmana

2
この問題は私にも再現されました。回答ありがとうございます。
Nisim Naim 2016

@cassiosoありがとうバディ。
WideFide 2017

1
バディに感謝します。.uとまったく同じようにして問題を解決しました。
Aparna

116

プロジェクトを外部ディレクトリに移動することでこの問題を修正し、正常にコンパイルしました。

これは、プロジェクトディレクトリの長いパスが原因でした。

たとえば、次の場所からプロジェクトを移動しました。

D:/Android/Apps/AndroidStudioProject/AppName

D:/Android/AppName

なぜなのかはわかりませんが、それが私のために働いた唯一のことです。どうもありがとうございます!
drayn 2016

1
はい、理由は説明できません。しかし、これも私にとってはうまく
いき

8
長いパスの問題が原因である可能性があります。
Rajeev 2016年

1
Windows 7 x64、Gradle 2.14.1、Androidビルドツール24.0.2でも同じ問題がありました。リソースファイルへのフルパスが長すぎます(243シンボル)。プロジェクトでフォルダの名前を変更すると、問題が解決しました。
ドミトリー

私も働いた!Androidスタジオ2.2.0で問題が発生した
Zen

53

これは、(。jpg)のような拡張子を持つ画像をドローアブルに追加したためであり、それを.png形式に変更または保存しました(このエラーは、エディターツールを使用せずに手動で画像形式を変更しているときに発生します)。

Android Studioは、AAPT(Android Asset Packaging Tool)を使用してリソースパッケージをコンパイルしているときにエラーをスローするため、GIMPPaintなどの画像エディターツールを使用して拡張機能を適切に保存するだけです。すべてが完了したら、プロジェクトを再構築します。

例:ペイントでイメージを開いて(ドラッグして、それを開くために、あなたのイメージを落とす)→メニューファイル名前を付けて保存保存タイプとして、私は絵下記に示しているようにドロップダウンから、あなたの必要な種類を選択→:

ここに画像の説明を入力してください

ここに画像の説明を入力してください


@krish gimpで拡張機能を変更しましたが、他の方法では動作しないようです。助けてください。
Ajay Pandya 2016

1
ペイントツールを使用して、画像の拡張子を変更します。私は上でもそれを使う方法に関して説明しました...
anand krish

1
(Macで)プレビューを使用して画像の拡張子を変更し、完全に機能しました。
Emzor

1
注意事項:画像に透明部分があった場合、ペイントを使用すると透明部分が削除されます。
キングストン

1
これは本当に役に立ちます
Achref Gassoumi 2017年

20

私の場合、解決策は簡単でした。パス全体が短い別の場所にプロジェクト全体を移動しました。

この問題は、長いディレクトリ名とファイル名が原因で発生しました。


5
OPは、ファイルパスが長くないことを示しています。あなたが彼に挑戦したいなら、おそらくコメントがより良いでしょう。
Jonathan Mee

これは、Windows Server上でBambooが実行されている場合のWindowsパス長の制限に関係しています。解決策:Linuxでビルドしてください!
Ewoks 2017

20

最善の解決策は、build.gradleでbuildDirを変更することです

例えば:

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

再構築して幸せなコーディング。


プロジェクトを移動するよりもはるかに簡単です。いいね!
fishjd 2017年

ソリューションを試してみましたが、機能しましたが、Visual Studio 2015から自分の携帯電話に展開できません。次のエラーが発生します。
Hassan Ata Ullah

9

私の場合、同じライブラリの2つの異なるバージョンを追加するという愚かな間違いを犯したため、ライブラリファイル変更するだけでこの問題を解決しました。

これはさまざまな理由が原因である可能性があるため、問題ごとにこの問題を解決する次の方法を見つけました。

  1. リソースの不一致

  2. リソースに欠落している属性、間違ったタグなど

  3. スタイルの問題

  4. スタイルに名前がありません

  5. リソースとライブラリの重複

  6. build.gradleの互換ライブラリを変更することで解決できる場合もあります

  7. aaptコマンドを実行する

  8. 拡張子を.jpgから.pngに変更する

  9. 単にの助けを借りてClean Project

    1. 場合によっては、Android Studioを再起動すると問題が解決することがあります。

4

これは、PNGファイルがサポートされていないか、ファイルの名前を直接変更したためです。

次の手順を実行します。

  1. Android Studioからデスクトップに画像ソースファイルをコピーします。
  2. ペイントでファイルを開きます。
  3. ファイルを拡張子.pngとして保存
  4. コピーしたAndroid Studioから既存のソースファイルを削除します。
  5. ペイントで名前を変更した新しく作成したファイルを追加します。

問題が解決しました :)


私はpng画像の再生成にtinypng.comを使用しました
JuniorMayhéJun

4

私の場合、9.pngファイルを作成したとき、元のPNGファイルは9.png線が描かれたマージンを使用していたため、不良な9.pngファイルが作成されていました。PNGファイルにマージンを追加してみてください。


はい、私のものはこれに似ていました。画像ファイルを変更していたところ、保存すると破損しました。画像の調整をやり直して、再度保存する必要がありました。
uplearnedu.com 2017


3

最良の答えはgradle出力ですでに与えられています:

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

Android Studioでターミナルを開き、を実行しgradlew :app:mergeDebugResources --stacktraceます。(私の場合は、Windows 240の文字数制限でした)が、他の問題の根本的な原因も同様にわかるはずです。


3

私の場合、この問題はファイルパスの長さに関係していると思います。UNIXおよびWindowsシステムでは、パスの最大長はそれぞれ255文字と260文字です。動的に指定されたパスに割り当てると、クランチプロセスが失敗すると思います。したがって、エラーメッセージで引用されたパスの長さが制限よりも短い場合でも(Windowsビルド環境では187しかありませんでした)、一時的であっても、クランチユーティリティが内部で長いパスを指定している可能性があります。

プロジェクトをファイルシステムの最上位のディレクトリに移動して、これがエラーの原因であるかどうかを判断し、再コンパイルを試みることができます。


ありがとうございました。私も同じ問題を抱えていましたが、気づきませんでした。エラーメッセージは、問題としてパスの長さを示しておらず、それが出力するファイルへのパスの長さは255をかなり下回っていました。
albert cブラウン2018年

2

私は再構築、再起動、クリーンアップ、Gradleの更新などを試みましたが、どれもうまくいきませんでした。

場合によっては、XMLまたはリソースファイルの誤った名前が原因である可能性があります。

少なくとも、私にとって、その問題は名前を変更することによって解決されました。


2

Gradleビルドツールを1.2.3にダウングレードすると、Crunching PNGエラーの問題が解決したことに気付きましたが、1.5.0では問題が解決しません。



1

私はプロジェクトの最初に自分の画像を描画可能なフォルダーに入れていましたが、それによって常にこのエラーが発生し、ビルドされませんでした。

  1. ドローアブルからすべてを削除
  2. 実行しようとしました(ファイルへの参照がないため、明らかに別のビルドエラーが発生しました
  3. 画像をフォルダーに再度追加し、プロジェクトを再ビルドして実行したところ、問題なく動作しました。

なぜこれがうまくいったのかはわかりませんが、うまくいきました。私たちがAndroid Studioと呼んでいるこの混乱に幸運を祈ります。


1

処理プロセスはイメージの準備プロセスです。つまり、イメージファイルに問題があります。私の場合、実際にはPNGファイルではないPNGファイルがありました。

私の解決策:

私はすべての画像を画像フォルダー内から非常にシンプルなPythonスクリプトを実行するPNGに変換しました。

  1. PILライブラリをインストールするには、次を実行: pip install pillow

  2. 以下のPythonコードを、変換する画像フォルダー内の.pyファイルに保存します。

  3. スクリプトのfrom_format、to_format変数を必要に応じて調整します。

  4. スクリプトを実行: 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())

また、Imageモジュールの詳細については、http//effbot.org/imagingbook/image.htmを参照してください。


1

画像(JPEGまたはPNGに関係なく)を手動でドローアブルフォルダーにコピーしたときに、この問題に直面しました。この問題にはさまざまな種類の一時的な解決策があるかもしれませんが、永遠の最良の方法の1つは、Android StudioのDrawableインポータープラグインを使用することです

メニューファイル設定プラグインリポジトリの参照 →「Drawable」を検索してインストールします。最初のオプションとしてDrawableインポーターがあります。右側のパネルで[インストール]をクリックします。

Drawableリソースフォルダーを右クリックしてから、それを使用します。これで、リストの下部に追加された4つの新しいオプションが表示され、それらの中から適切なオプションが見つかります。この場合、「バッチドローアブルインポート」でうまくいきます。


1

WindowsでGradle 3.3に移行した後、この問題が発生しました(gradle-2.14.1では問題ありませんでした)。

問題は、次のようなキリル文字を含むGradleビルドキャッシュへのパスにありました。

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

そのため、ユーザーのフォルダーの名前を「Ivan」に変更しましたが、問題は解決しました。


+1が、ビルドサーバーで問題を解決できませんでした。パスは良好に見えますが、機能しません。私たちは古いグラドルに戻りました...:/
驚くべきJan

1

Gradleの厄介な問題のようです。2.14から3.3にアップグレードしましたが、ビルドサーバーはこれ以上ビルドできませんでした(Android Studioのローカルビルドは機能しました)。

パスが長すぎる場合のエラーは次のとおりです。

C:\ WINDOWS \ System32に\ CONFIG \ systemprofile.gradle \キャッシュ\ 3.3 \スクリプト、リマップされた\ build_bonsjy48fqq8sotonpgrvhswt \ 36ejadunoxgw3iugkh95lqw \ projedd7e29570ae79482d0308d82f4e346b \クラス\ build_bonsjy48fqq8sotonpgrvhswt $ _run_closure1 $ _closure8 $ _closure13 $ _closure14 $ _closure15.class

何年もシステムサービスとして実行されていたサービスのローカルユーザーアカウントを作成する必要がありました。今では、C:\ Usersの下に保存されます。これは、システムプロファイルパスよりはるかに短いです。


1

アプリの場所を変更して、短いパスにコピーしました。これを行うには、プロジェクトをコピーして新しいショートロケーションに貼り付けます。そして、それは私のために働いた。

例えば、

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

0

私の場合、Android Studioを閉じて再度開くと、この問題は解決しました。

試してみる。私はそれが正しい解決策や答えではないことを知っていますが、うまくいきます。根本的な原因はわかりません。誰かがそれを共有できたら素晴らしいですね。


0

EclipseからAndroid Studio(Gradleバージョン2.10)にAndroidアプリケーションをインポートしていました。ドローアブル画像はサポートされていません。手動でそれらの画像を削除し、いくつかのPNG画像を貼り付けてください。

また、AndroidリポジトリからAndroidドローアブルインポーターを更新します。次に、アプリケーションをクリーンアップして再構築すると、機能します。


0

このエラーは、プロジェクトが配置されているパスが原因で発生しました。たとえば、1つのフォルダに空白スペースがありました。

Folder\Another Folder\MyAndroidProjects\...

これを変更してFolder\AnotherFolder\MyAndroidProjects\...Gradleを再同期すると、これが解決されました。


0

私もこの問題に直面しており、Googleのプロジェクトアプリからの画像でしたが、画像を再フォーマットしても解決しませんでした。

プロジェクトファイルをパーティションに直接移動する

それを試してみてください。それはあなたを助けるかもしれません。


0

私の場合、私は2つのステップで解決策に到達しました:

  1. ディレクトリ名が255文字を超えると、mergeResourceエラーが発生するため、プロジェクト名、パッケージ名、フォルダ名は短くしてください。
  2. ドローアブルをドローアブルフォルダーに保存します。.jpgや.pngなど、ドローアブルフォルダーの外側にあるドローアブルファイルは、mergeResourceフォルダーエラーをスローします。

255文字?どのプラットフォーム?Linux?マック?
Peter Mortensen、

0

私も同じ問題に苦しんでいます。私の場合、画像をドローアブルフォルダーにコピーしたところ、Android Studioに「一部のファイルの処理に失敗しました」というエラーが表示されました

画像に関する私の問題は、カスタマイズされたカメラアプリケーションの1つから.png形式で保存されたためです。そして、テストのために、それを描画可能なフォルダにコピーしました。

その後、画像を.jpgとして保存することをテストしました。エラーにはなりませんでした。つまり、カメラはデフォルトで「.jpg」形式をサポートしています。

最後に、2つのことに気づきました。

  1. カメラはデフォルトで「.jpg」形式をサポートしています

  2. 画像ツールを使用せずに、(プログラム的にも)画像形式を変更しないでください。


ファイル拡張子!=ファイル形式好きなようにファイルに名前を付けることができます-形式は変更されません。
驚くべきJan

私はあなたが言っていることを理解していません!。カスタムカメラアプリから取得し、プログラムで.pngとして保存した画像。そのため、その画像をドローアブルフォルダーに追加すると、コンパイルが失敗しました。カメラアプリの画像を.jpgとして保存すると、エラーは発生しません。
Kona Suresh

私はあなたの答えをこのように理解しました:あなたのアプリはjpgを作成しましたが、それを「png」と名付けました、そしてあなたはそれが機能しないことに驚いていました。
1

0

これをプロジェクトのlocal.propertiesファイルに追加するだけです:

BUILD_DIR=C\:\\Tmp

(Windowsのエラーは長いパスが原因です。そのため、1つの一時フォルダーへのパスを指定しました。)


0

私にとっては、.pngファイルの1つが実際には.psdファイルであるためです。実際のPNGファイルに再保存すると、修正されます。


0

私にとって、それは破損したPNGファイルでした。

resフォルダに移動して、すべての画像を開こうとします。開けない画像を見つけたら、良品と交換してください。


-1

この問題を解決するには、ドローアブル->新規->画像アセットを使用してから、画像を追加する必要があります。次に、mipmapフォルダーに画像が含まれていることを確認し、@ mibmab / imgでそれを使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.