web-dev-qa-db-ja.com

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

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

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

112
Jack Trowbridge

(残念ながら)Eclipseを再起動すると、問題はなくなります。

200
Androliyah

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

143
perumer

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

55
GregM

file nameには、abc...xyz012...789_.のみが含まれている必要があります。

例:

my-image.pngFalse
MyImage.png is False
my image.png is False
...
...

my-xml.xmlis False
MyXml.xml is False
my xml.xml is False
...
...

28
Mahdi-bagvand

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

ありがとう

25
Kiba

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

5
Yen NQ

Android St​​udioでは、リソース(画像)ファイル名をNUMERICで始めることはできません。また、BIG文字を含めることはできません。あなたの問題を解決するために、アリヤが言ったようにしてください。 IDEを再起動するだけです。これで私の問題も解決しました。

3
Sabri Meviş

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

AndroidはRをすぐに再生成しようとするため、プロジェクト内で名前の変更をリファクタリングしようとすると、Androidスタジオはヒッシーフィットをスローする場合があります。エラーの原因は一見ランダムなコード行(この場合はコメント)を指しているため、エラーの原因は正確にはわかりません。

その解決策:ドロアブルから削除し、プロジェクトの外部で名前を変更し、それらを再度スローします。

2
G_V

ファイル名を単純化します。ファイル名に特殊文字が含まれていると、しゃっくりします。たとえば、「my-main-header.png」から「header1.png」へ変更する理由はわかりませんが、動作します

2
raymond

命名規則が正しい場合は、単にFile-> Invalidate Caches/Restart ..に進みます。

キャッシュの無効化/再起動..を押します

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

1
Amit Upadhyay

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

作成後、ファイルは自動的に開くので、これは気付かれず、正しいプロジェクトにあるとみなされます。明らかに、ドロアブルまたは他のリソースへの参照は無効になります。

そして、はい、私はその愚かです。未使用のプロジェクトは今後閉じます:)

1
user1883611

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

1

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

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

  • プロジェクトのビルド(引き続きエラーが表示されます)

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

  • ビルドプロジェクト

1
Alex

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

0
Hamid