R.Java не создается
Я загрузил код из google коды но когда я импортирую этот проект в мою Eclipse IDE он не генерирует R.Java файл.Я искал много блогов и форумов и пробовал много вещей ,таких как очистка, восстановление, создание проекта из существующего источника и т. д., Но все еще сталкивался с проблемой.Некоторые люди упомянули,что это иногда вызвано клиентским программным обеспечением SVN, но никто из них не упомянул никакого решения для этого.Я буду очень благодарен вам ребята, если вы загрузите его себе и найдите, в чем именно проблема.
11 ответов
В общем, чтобы заставить его работать:
- импорт проекта в eclipse (файл -> импорт -> общие -> существующие проекты в рабочую область)
- в Eclipse вручную создайте папку gen и добавьте ее в качестве исходной папки (щелкните правой кнопкой мыши на своем проекте, Путь сборки -> настроить путь сборки -> Добавить папку)
- очистить ваш проект, вы, предполагают, чтобы сделать 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 / значения / темы.xml: прокомментируйте следующее:
<item name="android:windowTitleBackgroundStyle">@style/iWindowTitleBackground</item>
затем сделайте проект - > Clean, вы должны получить R.java генерируется.
сообщается об ошибке, что parent= "android: WindowTitleBackground" не может быть разрешен в некоторой операционной системе, проверьте здесь для новые подробности.
всякий раз, когда сгенерированный класс R не сгенерирован, это указывает на то, что существует проблема с его созданием из-за некоторой проблемы синтаксического анализа из ресурсов XML. Проверьте консоль ошибок в IDE, чтобы выяснить, что конкретно не так.
общие проблемы:
- неоткрытый персонаж в вашем
strings.xml
, напримерyou're
вместоyou\'re
- отсутствует
layout_width
илиlayout_height
теги в структуре ресурсов - отсутствует пространство имен объявления
- имена переменных, которые не поддерживаются Java, например, из-за капитализации или использования пробелов, дефисов или других неподдерживаемых символов
- любой другой вид синтаксической ошибки в XML
- Регистрация консоль для проблем (изображение прикреплено, где консоль определяет проблему, почему R не генерируется в вашем проекте)
вы увидите в верхней части файла он говорит импорт android.r или r.java я забыл. вам нужно удалить эту строку, очистить проект и перезапустить.
в основном android использует R для ссылок на элементы в вашем проекте. но когда этот оператор импорта существует, он переопределяет просмотр каталогов вашего проекта и использует андроиды
я столкнулся с той же проблемой, пытаясь построить пример кода wiktionary, который я загрузил из 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.образец.андроид.wiktionary.LookupActivity\res\values\strings.xml: 23: ошибка: несколько подстановок, указанных в непозиционном формате; вы хотели добавить атрибут formatted= "false"? C:\Development\WorkJava\android\sampleapps\Wiktionary\com.образец.андроид.wiktionary.LookupActivity\res\values\strings.xml: 23: error: Unexpected end tag string
вот выдержка из 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" к 3 последним определениям строк (содержащим два заполнителя подстановки %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>
У меня все еще была эта ошибка после проверки того, что все мои ресурсы не имели ошибок, очистки, восстановления, перезапуска и т. д.
я исправил это, отфильтровав SVN-файлы из проекта.
как исключить .в SVN каталоги из поиска в Eclipse?
хотя в вопросе упоминается поиск, решение относится к тому, какие файлы используются при компиляции.
перезапущен, и все было в порядке.
измените рабочее пространство на новый каталог и установите его разрешения так, чтобы он был доступен для всех
в моем случае я нашел имя файла изображения, содержащее верхний регистр внутри res / drawable. после изменения имени изображения. это было решено, и я мог построить проект
Я столкнулась с этой проблемой много раз. Эмпирическое правило состоит в том, чтобы проверить ваш .XML-файл.
R.java не генерируется, когда есть какие-либо проблемы .XML-файл.