Android: не удалось преобразовать @drawable/picture в drawable

В моей папке с рисунком у меня есть несколько изображений, и все они идеально подходят, но когда я пытаюсь добавить и другие изображения с одинаковым размером в одной и той же папке и попытаюсь ссылаться на нее, это флаги с ошибкой "Failed для конвертирования @drawable/picture в drawable". Я пробовал одно и то же изображение с другим именем, и он просто продолжает давать мне эту ошибку. Я также пробовал его в другом XML-макете и том же. Кроме того, название изображения было "jack", "abc", "question_mark", поскольку вы можете видеть, что в правилах, какие символы вы можете использовать, строго соблюдаются, и сообщение об ошибке продолжает появляться. Любые советы были бы полезны в том, как решить проблему, спасибо.

Не удалось преобразовать @drawable/picture в drawable

Ответ 1

Перезагрузите Eclipse (к сожалению), и проблема исчезнет.

Ответ 2

Также проверьте, содержит ли имя ресурса какие-либо незаконные символы (для меня это было "-" в моем изображении)

Ответ 3

Если перезапуск Eclipse не исправляет проблему, убедитесь, что имя изображения начинается с символа альфа (не числового).

Ответ 4

file name должен содержать только abc...xyz 012...789 _ . в папке Ресурсы.

для ex:

my-image.png - False !
MyImage.png - False !
my image.png - False !
...
...

my-xml.xml - False !
MyXml.xml - False !
my xml.xml - False !
...
...

Ответ 5

Это потому, что имя вашего изображения содержит символ "-". единственными допустимыми символами являются [A-Za-Z0-9 _.]

Спасибо

Ответ 6

У меня такая же проблема на Android Studio. Не нужно перезапускать IDE, просто закройте и заново запустите проект, и это решит проблему. (Убедитесь, что src - вход корреляции).

Ответ 7

В Android Studio ваше имя ресурса (изображений) не может начинаться с NUMERIC и не может содержать символ BIG. Чтобы решить вашу проблему, сделайте так, как сказала Алия. Просто перезапустите свою среду IDE. Это также решило мою проблему.

Ответ 8

Упростите имя вашего файла, кажется, что любые специальные символы в имени файла делают его икотой. например chaange "my-main-header.png" в "header1.png" не уверен, почему, но он работает

Ответ 9

Для Android Studio у меня была такая же проблема. Это было вызвано запуском из linux, что означает, что файлы автоматически не получили расширение. Ручным добавлением .png в конец имен файлов, он может распознать тип файла и загрузить соответственно.

Студия Android может бросить шипение, если вы попытаетесь переименовать рефакторинг внутри проекта, потому что андроид попытается немедленно восстановить R. Я не знаю точно, что вызывает ошибку, поскольку она указывает на какую-то, казалось бы, случайную строку кода, которая в моем случае была комментарием.

Решение: удалить из drawable, переименовать вне проекта и снова добавить их.

Ответ 10

Это может быть еще более тривиально, чем предлагалось другими плакатами: если у вас есть несколько проектов, убедитесь, что вы не создали файл макета xml в неправильном проекте.

После создания файл откроется автоматически, так что это может остаться незамеченным, и вы предполагаете, что оно находится в правильном проекте. Очевидно, что любые ссылки на чертежи или другие ресурсы будут недействительными.

И да, я такой глупый. С тех пор я закрываю все неиспользуемые проекты:)

Ответ 11

Я думаю, что нашел способ работать без перезапуска Eclipse или без закрытия проекта (он работал у меня):

  • переименуйте имя файла образа под res/in Eclipse → выберите файл и нажмите F2 (для меня это res/drawable-mdpi/bush-landscape.jpg → изменено на bush.jpg)

  • Build Project (он все равно покажет ошибку)

  • измените изображение, в котором вы его использовали (я изменил в графическом макете. Для меня это было LinearLayout/Background/bush-landscape → изменено "bush-landscape" на "bush" )

  • Проект сборки

Ответ 12

Название моего изображения было 21.jpg. Я переименовал его как abc.jpg, и он сработал. Поэтому убедитесь, что ваше имя изображения не начинается с числа. Однако все вышеприведенные ответы также принимаются.

Ответ 13

Если у вас правильные соглашения об именах, просто перейдите в Файл Недействительный кэш/Перезагрузка..

И нажмите Invalidate Caches/Restart..

Это помогло в моем случае.

Ответ 14

В моем случае у меня было изображение в разных папках (с тем же именем) для поддержки разных dpi и размеров устройств. Все изображения имели одно и то же имя, кроме одного из них. Это было неправильно, и как только я переименовал его, как другие имена, он решил мою проблему.