Ответ 1
Перезагрузите Eclipse (к сожалению), и проблема исчезнет.
В моей папке с рисунком у меня есть несколько изображений, и все они идеально подходят, но когда я пытаюсь добавить и другие изображения с одинаковым размером в одной и той же папке и попытаюсь ссылаться на нее, это флаги с ошибкой "Failed для конвертирования @drawable/picture в drawable". Я пробовал одно и то же изображение с другим именем, и он просто продолжает давать мне эту ошибку. Я также пробовал его в другом XML-макете и том же. Кроме того, название изображения было "jack", "abc", "question_mark", поскольку вы можете видеть, что в правилах, какие символы вы можете использовать, строго соблюдаются, и сообщение об ошибке продолжает появляться. Любые советы были бы полезны в том, как решить проблему, спасибо.
Не удалось преобразовать @drawable/picture в drawable
Перезагрузите Eclipse (к сожалению), и проблема исчезнет.
Также проверьте, содержит ли имя ресурса какие-либо незаконные символы (для меня это было "-" в моем изображении)
Если перезапуск Eclipse не исправляет проблему, убедитесь, что имя изображения начинается с символа альфа (не числового).
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
!
...
...
Это потому, что имя вашего изображения содержит символ "-". единственными допустимыми символами являются [A-Za-Z0-9 _.]
Спасибо
У меня такая же проблема на Android Studio. Не нужно перезапускать IDE, просто закройте и заново запустите проект, и это решит проблему. (Убедитесь, что src - вход корреляции).
В Android Studio ваше имя ресурса (изображений) не может начинаться с NUMERIC
и не может содержать символ BIG
. Чтобы решить вашу проблему, сделайте так, как сказала Алия. Просто перезапустите свою среду IDE. Это также решило мою проблему.
Упростите имя вашего файла, кажется, что любые специальные символы в имени файла делают его икотой. например chaange "my-main-header.png" в "header1.png" не уверен, почему, но он работает
Для Android Studio у меня была такая же проблема. Это было вызвано запуском из linux, что означает, что файлы автоматически не получили расширение. Ручным добавлением .png в конец имен файлов, он может распознать тип файла и загрузить соответственно.
Студия Android может бросить шипение, если вы попытаетесь переименовать рефакторинг внутри проекта, потому что андроид попытается немедленно восстановить R. Я не знаю точно, что вызывает ошибку, поскольку она указывает на какую-то, казалось бы, случайную строку кода, которая в моем случае была комментарием.Решение: удалить из drawable, переименовать вне проекта и снова добавить их.
Это может быть еще более тривиально, чем предлагалось другими плакатами: если у вас есть несколько проектов, убедитесь, что вы не создали файл макета xml в неправильном проекте.
После создания файл откроется автоматически, так что это может остаться незамеченным, и вы предполагаете, что оно находится в правильном проекте. Очевидно, что любые ссылки на чертежи или другие ресурсы будут недействительными.
И да, я такой глупый. С тех пор я закрываю все неиспользуемые проекты:)
Я думаю, что нашел способ работать без перезапуска Eclipse или без закрытия проекта (он работал у меня):
переименуйте имя файла образа под res/in Eclipse → выберите файл и нажмите F2 (для меня это res/drawable-mdpi/bush-landscape.jpg → изменено на bush.jpg)
Build Project (он все равно покажет ошибку)
измените изображение, в котором вы его использовали (я изменил в графическом макете. Для меня это было LinearLayout/Background/bush-landscape → изменено "bush-landscape" на "bush" )
Проект сборки
Название моего изображения было 21.jpg. Я переименовал его как abc.jpg, и он сработал. Поэтому убедитесь, что ваше имя изображения не начинается с числа. Однако все вышеприведенные ответы также принимаются.
Если у вас правильные соглашения об именах, просто перейдите в Файл → Недействительный кэш/Перезагрузка..
И нажмите Invalidate Caches/Restart..
Это помогло в моем случае.
В моем случае у меня было изображение в разных папках (с тем же именем) для поддержки разных dpi и размеров устройств. Все изображения имели одно и то же имя, кроме одного из них. Это было неправильно, и как только я переименовал его, как другие имена, он решил мою проблему.