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

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

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

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

Ответы [ 64 ]

2 голосов
/ 05 сентября 2012

У меня была эта проблема. Я случайно удалил это

xmlns:tools="http://schemas.android.com/tools"

, что стало причиной ошибок сборки по всему проекту в моих файлах XML, а также в моих файлах Java. Как только я набрал то, что я удалил, это снова заработало:)

2 голосов
/ 23 февраля 2013

ОК, так что ясно, что может быть много причин для этой проблемы. Если вы работаете на 64-битной Linux-машине и впервые настраиваете ADT, вы можете столкнуться с этой проблемой, когда R не генерируется автоматически. Проверьте вкладку консоли, и вы можете увидеть ошибку, похожую на:

 'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'

Если это так, вам нужно установить ia32-libs, используя что-то вроде:

 sudo apt-get install ia32-libs

Подробности смотрите здесь: Android adb не найден

2 голосов
/ 28 января 2014

Моя проблема заключалась в том, что appcompat не был в том же каталоге, что и мой проект.

Я узнал об этом при компиляции моего приложения с Ant .

2 голосов
/ 13 сентября 2011

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

Если это не было импортировано, то ресурсы, которые были возвращены, были ресурсами по умолчанию, но мои собственные не включены.

С учетом сказанного, если вы обнаружите, что получаете только список ресурсов по умолчанию, просто проверьте, что вы импортируете application_package_name.R, а не android.R.

1 голос
/ 29 апреля 2012

В моем случае R-файлы не создавались, потому что у меня в папке res/ были файлы XML с тем же именем (например, res/layout/filename.xml и res/values/filename.xml).

После того, как я изменил одно из имен файлов, мои R-файлы были сгенерированы снова с помощью опции Автоматическая сборка .

1 голос
/ 11 апреля 2012

У меня была такая же проблема. Оказывается, у меня была круговая ссылка; Я изменил имя строки, на которую ссылается мой макет.

Я выполнил очистку и перестроил, и файл R.Java не создавался заново. Я потратил впустую два часа, пытаясь понять, что случилось. В конце концов я изменил элемент макета на некоторый временный текст, сделал чистый проект и был создан файл R.Java.

1 голос
/ 28 июля 2011

Я изменил имя своего XML-файла макета и узнал позже, что XML-файл (в данном случае провайдер виджетов) по-прежнему ссылается на старый XML-макет, который не существует, что препятствовало автоматической генерации / исправлению класса R .

1 голос
/ 06 марта 2012

Для меня проблема заключалась в том, что у меня в папке res было изображение с заглавной буквой, то есть Image.png. Просто поместите image.png.

Все в нижнем регистре и все!

1 голос
/ 17 февраля 2011

Я нашел решение, почему Rclass не создается Eclipse после его повторного создания - 2 clean, build и т.д.

Проблема здесь в strings.xml:

<string name="hello">Hello World, HelloAutoComplete!</string>

<string name="app_name">HelloAutoComplete</string>

По умолчанию они создаются Eclipse при создании проектов.

Определенно, вы меняете файл strings.xml в соответствии со своими требованиями. Иногда вы очищаете string.xmls эти две строки из вашего кода:

Проблема в файле AndroidManifest.xml:

<application android:icon="@drawable/icon"  android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">

Так что он не может связаться с strings.xml.

1 голос
/ 20 ноября 2011

Я хочу выделить ответ 糞 _..

Я переименовал цвет из "listcolor" в "color_list", но я не понял, что один из других макетов ссылался на него.Поэтому (внезапно) все мои R.string.X и R.layout.X перестали работать на «R».

В конце концов, я заглянул в окно консоли и увидел ошибки.Я думал, что все они были ссылками на то, что R не был найден, но на самом деле, один был, что 'listcolor' не был найден.Как только я исправил это, все другие ошибки исчезли.

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

...