R.Java не генерируется - PullRequest
       63

R.Java не генерируется

9 голосов
/ 30 ноября 2011

Я скачал код из google codes , но когда я импортирую этот проект в мою среду Eclipse он не генерирует файл R.Java. Я искал много блогов и форумов и пробовал много вещей, таких как очистка, перестроение, создание проекта из существующего источника и т. д., но все еще сталкивался с проблемой. Некоторые люди упоминали, что это иногда вызывается клиентским программным обеспечением SVN, но никто из них не упомянул никакого решения для этого. Я буду очень благодарен вам, ребята, если вы сами загрузите его и обнаружите, в чем именно заключается проблема.

Ответы [ 11 ]

16 голосов
/ 30 ноября 2011

В общем, чтобы заставить его работать:

  1. импорт проекта в Eclipse (Файл -> Импорт -> Общие -> Существующие проекты в рабочую область)
  2. в Eclipse, Создание вручнуюПапка gen и добавьте ее в качестве исходной папки (щелкните правой кнопкой мыши по вашему проекту, Build Path -> Configure Build Path -> Add folder)
  3. Очистите ваш проект, предполагается, что генерируется R.java

Но это не так, почему?

Поскольку существует некоторая ошибка компиляции (или ошибка?) В отношении XML-файла в res, поэтому R не генерируется (я тестировал на своем Mac):
В res / values ​​/ styles.xml: закомментировано следующее:

<style name="iWindowTitleBackground" parent="android:WindowTitleBackground">    
  <item name="android:background">@drawable/title_bar</item>        
</style>

В res / values ​​/ themes.xml: закомментируйте следующее:

<item name="android:windowTitleBackgroundStyle">@style/iWindowTitleBackground</item>

Затем сделайте Project -> Clean, вы должны сгенерировать R.java.

Сообщается об ошибке, что parent = "android: WindowTitleBackground" не может быть разрешен в некоторых операционных системах, для получения более подробной информации обратитесь к здесь .

3 голосов
/ 28 февраля 2014

Всякий раз, когда ваш сгенерированный класс R не сгенерирован, это указывает на проблему с его генерацией из-за некоторой проблемы с синтаксическим анализом из ресурсов XML.Проверьте консоль ошибок в своей среде IDE, чтобы выяснить, что именно не так.

Распространенные проблемы:

  • Неэкранированный символ в вашем strings.xml, например you're вместо you\'re
  • Отсутствуют layout_width или layout_height теги в ресурсах макета
  • Отсутствуют объявления пространства имен
  • Имена переменных, которые не поддерживаются Java, например, из-за заглавных буквили использование пробелов, дефисов или других неподдерживаемых символов
  • Любой другой вид синтаксической ошибки в XML
  • Проверка Консоль для Проблем (Изображение прикреплено, где консоль определяетвопрос, почему R не генерирует в вашем проекте)

enter image description here

1 голос
/ 15 сентября 2013

". XML-файлы" и "файлы изображений" и убедитесь, что имена строчные.

1 голос
/ 01 февраля 2013

У меня все еще была эта ошибка после проверки того, что все мои ресурсы не имели ошибок, очистки, восстановления, перезапуска и т. Д.

Я исправил это, отфильтровав файлы SVN из проекта.* Как исключить .svn каталоги из поиска в Eclipse?

Хотя в вопросе упоминается поиск, решение относится к тому, какие файлы также используются при компиляции.и все было хорошо.

1 голос
/ 12 сентября 2012

Я столкнулся с той же проблемой, пытаясь создать пример кода для викисловаря, который я скачал с code.google.com ( здесь ), который я импортировал в новый проект Eclipse Juno, в котором используются Android 4.1 и JDK 1.6.

Вот выдержка из консоли после построения проекта:

W / ResourceType (6292): Неверный блок XML: размер заголовка 103 или общий размер 0 больше размера данных0 C: \ Development \ WorkJava \ android \ sampleapps \ Wiktionary \ com.example.android.wiktionary.LookupActivity \ res \ values ​​\ strings.xml: 23: ошибка: множественные замены указаны в непозиционном формате;Вы хотели добавить атрибут formatted = "false"?C: \ Development \ WorkJava \ android \ sampleapps \ Wiktionary \ com.example.android.wiktionary.LookupActivity \ res \ values ​​\ strings.xml: 23: ошибка: неожиданная строка конечного тега

Вот примервыдержка из res / values ​​/ string.xml:

<resources>

<string name="app_name">Wiktionary Word of the Day</string>
<string name="app_descrip">A fast Wiktionary browser and Word-of-day widget</string>
<string name="app_credits">"All dictionary content provided by Wiktionary under a GFDL license.  http://en.wiktionary.org\n\nIcon derived from Tango Desktop Project under a public domain license.  http://tango.freedesktop.org".</string>
<string name="template_user_agent">"%s/%s (Linux; Android)"</string>
<string name="template_wotd_title">"Wiktionary:Word of the day/%s %s"</string>
<string name="template_wotd_archive_title">"Wiktionary:Word_of_the_day/Archive/%s/%s"</string>

РЕШЕНИЕ

Добавление formatted = "false" к трем последним определениям строки (содержащим два% sзамена заполнителей), как показано ниже, решил проблему.Перестройка проекта, сгенерированного R.java в папке gen.

<resources>

<string name="app_name">Wiktionary Word of the Day</string>
<string name="app_descrip">A fast Wiktionary browser and Word-of-day widget</string>
<string name="app_credits">"All dictionary content provided by Wiktionary under a GFDL license.  http://en.wiktionary.org\n\nIcon derived from Tango Desktop Project under a public domain license.  http://tango.freedesktop.org".</string>
<string name="template_user_agent" formatted="false">"%s/%s (Linux; Android)"</string>
<string name="template_wotd_title" formatted="false">"Wiktionary:Word of the day/%s %s"</string>
<string name="template_wotd_archive_title" formatted="false">"Wiktionary:Word_of_the_day/Archive/%s/%s"</string>
1 голос
/ 30 ноября 2011

вы увидите вверху вашего файла надпись import android.r или r.java, я забыл.вам нужно удалить эту строку, очистить проект и перезапустить.
В основном Android использует R для ссылки на элементы в вашем проекте.но когда этот оператор импорта присутствует, он переопределяет просмотр каталогов вашего проекта и использует androids

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

Когда я сталкиваюсь с этой проблемой, я удаляю папку gen, и она будет воссоздана со всеми файлами r

0 голосов
/ 27 августа 2017

Просто нажмите на

Build --> Clean Project

Это сработало для меня

0 голосов
/ 06 марта 2014

Я сталкивался с этой проблемой много раз.Основное правило - проверять ваши файлы .xml.
R.java не генерируется при возникновении проблем в файле .xml.

0 голосов
/ 01 декабря 2013

В моем случае я нашел имя файла изображения, содержащего прописные буквы внутри res / drawable. после изменения имени изображения. это было решено, и я мог построить проект

...