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

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

11 ответов

Решение

В общем, чтобы это работало:

  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" не может быть разрешен в некоторых операционных системах, ознакомьтесь здесь для получения более подробной информации.

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

Общие проблемы:

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

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

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

Я столкнулся с той же проблемой, пытаясь создать пример кода для викисловаря, который я скачал с 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>

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

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

Я исправил это, отфильтровав файлы SVN из проекта.

Как исключить.svn каталоги из поиска в Eclipse?

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

Перезапустил, и все было хорошо.

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

Build --> Clean Project

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

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

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

Измените рабочее пространство на новый каталог и установите его разрешения, чтобы он был доступен для всех

Другие вопросы по тегам