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

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

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

14 ответов


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


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


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


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

например:

мой образ.формат PNG is False!
MyImage.формат PNG is False!
мой имидж.формат PNG is False!
...
...

my-xml.в XML is False!
MyXml.в XML is False!
мой XML-файле.в XML is False!
...
...


Это потому, что ваше имя картинки содержит символ" -". допускаются только символы [a-zA-Z0-9_.]

спасибо


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


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


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


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

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

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


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

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

и да, я настолько глуп. Теперь я закрою любые неиспользуемые проекты:)


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

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

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

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

  • Строительство


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


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

и нажать Отменить Кэширование / Перезапуск..

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


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