Android:@ drawable / pictureをドローアブルに変換できませんでした


112

ドローアブルフォルダーにいくつかの画像があり、それらはすべて完璧に参照していますが、同じフォルダーにまったく同じサイズの画像を追加して参照しようとすると、エラーが発生します。ドローアブル/画像をドローアブルに変換する」。同じ画像を別の名前で試しましたが、エラーが発生し続けます。別のXMLレイアウトでも同じことを試してみました。また、使用できる文字のルールが厳密に規定されているにもかかわらず、エラーメッセージが引き続き表示されるため、写真の名前は「jack」、「abc」、「question_mark」になっています。問題を解決する方法についてのアドバイスはありがたいです、ありがとう。

@ drawable / pictureをドローアブルに変換できませんでした


2
奇妙な理由ですべてがソートされましたが、突然数回クリックすると機能しました!この問題が発生した場合の私のアドバイスは、Eclipseを再起動して、すべてのものが正しく参照され、名前が付けられていることを確認することです。
Jack Trowbridge、2012年

2
場合によっては、プロジェクトを最初から再構築するだけで、これらのAndroid SDKの問題を取り除くことができます。すべてのドローアブルに間違った画像を使用する奇妙なケースを見ました(エラーはありませんが、すべてのドローアブルの正しい画像の隣に画像を使用しています)おそらく参照IDの問題です。
ギヨーム

再び-1 Android、+ 1 Windows
mihai71

4
私にとっては、ファイル名の中央にある「-」という文字でした。名前を変更した後、Android Studioですべてがうまくいきました。
martin.p

回答:


200

残念ながらEclipseを再起動すると、問題は解消します。


Eclipseでプロジェクトを閉じて再度開くと、うまくいきました。アリヤ、ありがとう!
stephen.hanson

Iaはdrawable-normal-hdpiでこの問題を抱えていましたが、私のイメージをdrawable-hdpiに入れると、すべて問題ありません。
ヤール

@DoctororDrive-おそらくあなたの問題は少し異なっていました。まだエラーがありますか?
アンドロリヤ2013年

4
この問題が日食とAndroidスタジオの両方に存在することはかなり面白い
Mohammad AbuShady

3
プロジェクトを閉じたり、再度開いたりしても機能しませんでしたが、Android Studioを終了または再起動しても機能しました。アリヤありがとうございます。
tmr 2014年

143

リソース名に不正な文字が含まれていないかどうかも確認してください(私にとっては、my-imageの「-」でした)


Android独自のアイコンパックには、10-device-access-alarms.pngのようなファイル名が含まれています。ありがとう。
Noumenon 2013

12
Androidスタジオでもこれらのファイル名が詰まっています。アンダースコアに名前を変更すると、修正されました。
サイプレスフランケンフェルト2013年

私にとってはスペースキャラクター「」でした!
Efreeto 2016年

私の場合、スペースが原因でした
サジュ

私にとっても "-"でした。奇妙なことに、Androidスタジオはこのことを赤でマークしていませんでした...
Haseeb Zulfiqar

55

Eclipseを再起動しても問題が解決しない場合は、イメージ名が英字(数字以外)で始まっていることを確認してください。


4
ありがとう。Androidは、Rファイルにドローアブル名でドローアブルID変数を作成します。たとえば、ファイルが数字で始まる場合、変数は数字で始まり、これはJava言語では許可されていません。
momo 2013年

9
また、ダッシュ(-)が含まれていないことを確認してください。たとえば、「mic-back」は無効、「mic_back」は問題ありません
Markus

これが私の問題でした。AndroidのWebサイトにあるパックすべてのアイコンには先行番号があります。
theblang 2013年

PNGである必要がありますか?jpgを使おうとしています。
IgorGanapolsky 2013年

28

file nameabc...xyz 012...789 _ . Resourcesフォルダーのみに含まれている必要があります。

例:

my-image.pngFalse
MyImage.pngFalse
私のimage.pngFalse
...
...

my-xml.xmlFalse
MyXml.xmlFalse
私のxml.xmlFalse
...
...


25

これは、イメージ名に「-」記号が含まれているためです。使用できる文字は[a-zA-Z0-9_。]のみです。

ありがとう


1
大文字は無効です。それらを使用すると、Android Studioは次のエラーを出します:タスク:: app:mergeDebugResourcesのError:Executionが失敗しました。>エラー:無効なファイル名:小文字と数字のみを含める必要があります([a-z0-9_。])
LightMan

5

Android Studioでも同じ問題が発生します。IDEを再起動する必要はありません。プロジェクトを閉じて再度開くだけで問題が解決します。(srcが正しい入力であることを確認してください)。


プロジェクトの再構築もそれを行います。
Mike

私はFile-> Invalidate Caches / Restart ...を実行しましたが、これも機能しました(おそらくやり過ぎです)。
SMBiggs、2015年

3

Android Studioでは、resource(images)ファイル名の先頭に文字をNUMERIC含めることはできず、BIG文字を含めることもできません。あなたの問題を解決するには、アリヤが言ったようにしてください。IDEを再起動するだけです。これも私の問題を解決しました。


2

ファイル名を簡略化します。ファイル名に特殊文字を使用すると、しゃっくりが発生するようです。たとえば、「my-main-header.png」から「header1.png」への変更の理由はわかりませんが、機能します


2
リソースファイル名は、資源識別子に変換されているからだR.java-識別子の有効な文字ではありません。
laalto 2013

2

Android Studioについても、同じ問題がありました。これはLinuxから実行したために発生しました。つまり、ファイルは自動的に拡張子を受け取りませんでした。ファイル名の最後に手動で.pngを追加することにより、ファイルタイプを認識し、それに応じてロードできます。

AndroidはすぐにRを再生成しようとするため、プロジェクト内でリネームをリファクタリングしようとすると、Androidスタジオはヒスフィットを投げる可能性があります。見かけ上ランダムなコード行を指しているため、エラーの原因が正確にわかりません。私の場合はコメントでした。

解決策:ドローアブルから削除し、プロジェクトの外部で名前を変更して、もう一度投入します。


1

他の投稿者が提案したものよりもさらに簡単な場合があります。複数のプロジェクトがある場合は、間違ったプロジェクトでxmlレイアウトファイルを作成していないことを確認してください。

作成後、ファイルは自動的に開くので、これは気付かれない可能性があり、正しいプロジェクトにあると想定します。明らかに、ドローアブルやその他のリソースへの参照はすべて無効になります。

そして、はい、私はその愚かです。これから未使用のプロジェクトをすべて閉じます:)


1

私はEclipseを再起動せずに、またはプロジェクトを閉じずにそれを機能させる方法を見つけたと思います(それは私のために働いた):

  • Eclipseのres /で画像ファイル名を変更します->ファイルを選択してF2を押します(私にとってはres / drawable-mdpi / bush-landscape.jpg-> bush.jpgに変更されました)

  • プロジェクトをビルドします(まだエラーが表示されます)

  • 使用した場所の画像を変更(私はグラフィカルレイアウトで変更しました。私にとっては、場所はLinearLayout / Background / bush-landscape->「bush-landscape」を「bush」に変更しました)

  • プロジェクトを構築する


1

私の画像名は21.jpgでした。私はそれをabc.jpgに名前変更しました、そしてそれはうまくいきました。したがって、イメージ名が数字で始まっていないことを確認してください。ただし、上記のすべての回答も受け入れられます。


1

命名規則が正しい場合は、[ファイル] -> [ キャッシュの無効化/再起動]に移動します。

そして、キャッシュの無効化/再起動を押します。

これは私の場合に役立ちました。


0

私の場合、異なるdpiとデバイスサイズをサポートするために、(同じ名前の)異なるフォルダーに画像がありました。1つの画像を除いて、すべての画像は同じ名前でした。入力ミスがあり、他の名前と同じように名前を変更すると、問題が解決しました。

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