web-dev-qa-db-ja.com

タスク 'app:mergeDebugResources' Crunching Cruncher .... pngの実行に失敗しました

* .pngという形式の写真を私のdrawable-directoryに追加し、それをレイアウトとリンクさせました。しかし、私がそれを構築しようとするたびに、エラーが表示されます

「... Crunching Crunsher ... pngが失敗しました」

以下はコンソールの出力です。

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のサインをunterしても問題ありません:/

前もって感謝します :)

103
bot.rubiks

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

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

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

128
smoothumut

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

これはプロジェクトディレクトリのパスが長いためです。

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

D:/Android/Apps/AndroidStudioProject/AppName

D:/Android/AppName
116
Lakhan Sharma

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

Android Studioは、AAPT(Android Asset Packaging Tool)を使用してリソースパッケージをコンパイルする際にエラーをスローします。そのため、拡張子を保存するには、 _ gimp _ または Paint などのイメージエディタツールを使用するだけです。それに応じて。すべて完了したら、プロジェクトを再構築します。

例:ペイントで画像を開く(画像をドラッグアンドドロップして開く)→メニュー ファイル 名前を付けて保存 名前を付けて保存 →必要な項目を選択下の写真に示すように、ドロップダウンから入力します。

Enter image description here

Enter image description here

53
anand krish

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

例えば:

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

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

20
Heberth

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

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

20
Kadir Erturk

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

これにはさまざまな理由が考えられるため、この問題を解決するには、以下の方法があります。

  1. リソースの不一致

  2. リソース内の属性の欠落、タグの誤りなど

  3. スタイルの問題

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

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

  6. 時にはそれはbuild.gradleの中の互換性のあるライブラリを変更することによってさえ解決することができます

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

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

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

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

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

4
Guilherme Ramos

Linuxを使用している場合は、これを試してください。

Sudo apt-get install lib32stdc++6 lib32z1

ここ からです。

4
Maksim Turaev

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

以下の手順を実行してください。

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

問題が解決しました :)

4
Learning Always

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

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

Android Studioでターミナルを開き、gradlew :app:mergeDebugResources --stacktraceを実行します。 (私の場合、それはWindows 240のcharの制限でした)、しかしそれはあなたに他の問題の根本的な原因を同様に与えるべきです。

3
mattlaabs

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

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

3
Mapsy

再構築、再起動、クリーン、Gradleのアップデートなどを試みました。

XMLファイルまたはリソースファイルの名前が間違っていることが原因である場合があります。

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

2
elfekz

downgrading Gradle build tools 1.2.3 に気付いたCrunching PNGエラーの問題は解決しましたが、1.5.0でも問題は解決しません。

2
AskQ

ファイル>キャッシュの無効化/再起動

1
Khan

アプリの場所を変更し、それを短いパスにコピーしました。プロジェクトをコピーして新しい短い場所に貼り付けるだけで可能です。そして、それは私のために働きました。

例えば、

Old_path: c/:user/Android_studio_project/your_app
New_path: c/:your_app
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

私は自分のイメージを(JPEGやPNGに関係なく)手動でdrawableフォルダにコピーしたときにこの問題に直面しました。この問題には一時的な解決策の異なる種類があるかもしれませんが、1つの最も良い永遠の方法は AndroidスタジオのためのDrawableインポータープラグインを使うことです

Menu ファイル 設定 プラグイン リポジトリの閲覧 → "Drawable"を検索してください。あなたはDrawableインポーターを最初の選択肢として見つけるでしょう。右側のパネルで[インストール]をクリックします。

Drawableリソースフォルダーを右クリックしてからnewをクリックして使用します。これで、リストの下部に4つの新しいオプションが追加されたことがわかります。その中から適切なオプションが見つかります。この場合、 "Batch drawable import"がうまくいくでしょう。

1
AmiNadimi

私はWindows上でGradle 3.3に移行した後にこの問題に遭遇しました(gradle-2.14.1ではすべて問題ありませんでした)。

問題はGradleのbuild-cacheへのパスにありました。

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

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

1
IvanP

私はプロジェクトの始めに私のイメージを私のdrawableフォルダに入れていました、そしてそれはいつも私にこのエラーを与えて、決してビルドしないのでそう私は:

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

なぜこれが私のために働いたのか私にはわかりませんが、それはしました。私たちはAndroid Studioと呼ぶこの混乱に頑張ってください。

1
rychrist88

クランチプロセスは画像の準備プロセスです。つまり、画像ファイルに問題があります。私の場合、私はPNGファイルを持っていましたが、それは実際にはPNGファイルではありませんでした。

私の解決策:

私はすべての画像をPNGに変換し、その画像フォルダ内から超単純なPythonスクリプトを実行しています。

  1. PILライブラリをインストールするには、pip install pillowを実行します。
  2. 下記のPythonコードを変換したいimagesフォルダ内の.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
Mercury

私はこの問題にも直面しています、そしてそれはグーグルのプロジェクト・アプリケーションからのイメージであったけれどもそれはイメージを再フォーマットすることによって解決されませんでした、そしてそれはそれによってのみ解決されました:

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

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

0
Dasser Basyouni

私も同じ問題に苦しんでいます。私の場合、私はただ描画可能なフォルダに画像をコピーしました、それからAndroid Studioはエラーを示しています 「ファイルのクランチに失敗しました」。

画像に関する私の問題はその 画像が.pngフォーマットで私のカスタマイズされたカメラアプリケーションの1つから保存されているためだけです。そしてテスト目的のために私はそれをdrawableフォルダにコピーしました。

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

ついに私は二つのことに気づいた。

  1. カメラはデフォルトで ".jpg"フォーマットをサポートしています

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

0
Kona Suresh

私にとっては、それは私の.pngファイルの1つが実際には.psdファイルだからです。実際のPNGファイルに保存し直すと修正されます。

0
Kai Wang

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

Folder\Another Folder\MyAndroidProjects\...

それをFolder\AnotherFolder\MyAndroidProjects\...に変更してGradleを再同期することでこれは解決しました。

0
Marcus

この問題を解決するには、drawable - > new - > image assetを使用してから画像を追加します。あなたはそれからmipmapフォルダがあなたのイメージを含んでいるのを見つけるでしょう、そしてあなたは@ mibmab/imgでそれを使うことができます。

0

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

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

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

BUILD_DIR=C\:\\Tmp

(Windowsでのエラーは長いパスによるものなので、1つの一時フォルダーへのパスを指定しました。)

0
RATHI

私はEclipseからAndroid Studio(Gradleバージョン2.10)にAndroidアプリケーションをインポートしていました。描画可能な画像はサポートされていないので、それらの画像を手動で削除してPNG画像を貼り付けます。

また、AndroidリポジトリからAndroidドロアブルインポーターを更新します。その後、アプリケーションをクリーンアップして再構築すると、正常に動作します。

0
Muru

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

resフォルダに行き、すべての画像を開くようにしてください。開くことができない画像を見つけたら、それを良い画像に置き換えます。

0
Floris M

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

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

0