Разработка для Android в Eclipse: R.java не регенерирует - PullRequest
307 голосов
/ 03 мая 2010

Я обнаружил, что мой R.java никогда не обновляется, поэтому он не содержит информации о моих новых ресурсах, поэтому я решил удалить его и подумал, что Eclipse создаст новый. Но этого не произошло, и у меня нет R.java сейчас. Как я могу восстановить один?

Я использую Windows 7.

Из одного из комментариев: «Выполнение Проекта -> Очистка - вот что вызвало проблему для меня. Очистка удаляет R.java ... и по любой причине плагин не восстанавливать файл. "

Ответы [ 64 ]

0 голосов
/ 18 июля 2013

Кажется, что все ответы здесь повторяются, чтобы проверить ошибки в XML и очистить ваш проект. Сделай это! Но что, если это не сработает? Вот что сработало для меня:

Если вы создаете проект, который генерирует неправильный R, и вы удаляете его, он не будет регенерироваться, поэтому удалите этот проект и создайте новый, убедитесь, что вы НЕ отметили «строить автоматически», тогда вы можете скопировать свои папки в рабочей области, а затем вы очищаете проект или выбираете «строить автоматически», чтобы он правильно генерировал ваш R.

0 голосов
/ 20 апреля 2013

См. Сообщение в блоге Совет разработчика Android: восстановление R.java .

Вместо того, чтобы продолжать обнаруживать все мыслимые варианты проблемы, обнаруженной в дикой природе, я решил использовать проверенный подход к изучению кода. Сделав это некоторое время, я заметил несколько красных парней в папке res. Они были остатком моей текущей работы по перепроектированию, которую я собирался удалить, прежде чем все пошло не так. Конечно же, как только я нажму Del на них, проклятая вещь R автоматически появится.

В единственном предложении: удалить все ненужные файлы из проекта и нежелательный код из файла манифеста.

0 голосов
/ 20 августа 2011

В основном файл R.java относится к файлу .xml и Java. Мы знаем теги XML, но как насчет Java, поэтому для этого нам нужен уникальный идентификатор для идентификации тега.

Здесь файл R.java в основном связан с файлом XML с Java для получения значений.

0 голосов
/ 27 апреля 2013

Решить проблему, изменив файл project.properties: я добавляю цель android-17.

0 голосов
/ 12 февраля 2014

Вот что сработало для меня, а другие ответы не сработали:

  1. Создать новый Проект приложения Android,
  2. Скопируйте все файлы и папки из старого каталога (кроме / gen) и замените!
  3. Обновить корень проекта в Package Explorer.
  4. Если все еще там, Очистить снова!

    Готово. Надеюсь, это поможет.

0 голосов
/ 17 февраля 2016

Прежде всего, проверьте вывод консоли.
Затем убедитесь, что имена файлов макета xml строчные.
Исправьте ошибки XML.
Проверьте свойства проекта -> Android на предмет чего-то незнакомого

0 голосов
/ 15 июля 2011

В моем случае, после бесконечного выключения среды IDE, очистки, попыток сборки и т. Д., Проблема заключалась в том, что внутри моей папки res была «папка без названия», которую я, вероятно, добавил по ошибке.

Хотелось бы, чтобы подобные ошибки выводились Eclipse, как это делал скрипт Ant :

[null] invalid resource directory name: /Users/gubatron/workspace.android/my-project/res/untitled folder
0 голосов
/ 24 апреля 2012

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

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

Я обнаружил, что иногда Eclipse по каким-либо причинам не нравятся имена моих файлов, и мне приходится их менять.

Так что добавляйте к ресурсам один за другим, гарантируя, что все это "работает". Когда что-то ломается, просто попробуйте немного изменить его, пока Eclipse не примет это.

Вы знаете, что он работает, когда появляется genfile - он будет делать это автоматически, если нет проблем.

0 голосов
/ 30 мая 2013

Если все ответы не удаются, вы можете запустить генерацию ресурса из командной строки: Перейдите в каталог проекта Eclipse. Затем запустите

aapt.exe package -f -v -m -S res -J src -M AndroidManifest.xml -I ANDROID_HOME/platforms/android-XXX/android.jar

Просто измените ANDROIRD_HOME и XXX с соответствующими значениями. Вы должны получить информацию на экране, где ошибка.

0 голосов
/ 25 января 2013

Попробуйте проверить файл project.properties. Возможно, ваш JAR-файл Android в пути сборки не совпадает с упомянутой там версией.

Это решило мою проблему, так как я сменил цель.

...