R.Java не создан
-
25-10-2019 - |
Вопрос
Я скачал код с Google коды но когда я импортирую этот проект в свою Eclipse Ide, он не генерирует файл R.Java. Я искал многие блоги и форумы и пробовал много таких вещей, как очистка, восстановление, создание проекта из существующего источника и т. Д. Иногда это вызвано клиентским программным обеспечением SVN, но ни одно из них не упомянуло какое -либо решение для этого. Я буду очень благодарен вам, ребята, если вы загрузите его сами и найдете то, что является точной проблемой.
Решение
В целом, чтобы заставить его работать:
- Импорт проекта в Eclipse (File -> import -> general -> существующие проекты в рабочее пространство)
- В 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/values/themes.xml: прокомментируйте следующее:
<item name="android:windowTitleBackgroundStyle">@style/iWindowTitleBackground</item>
Затем сделайте проект -> чистый, вы должны получить сгенерирование R.Java.
Ошибка, сообщающая, что Parent = "Android: Windowtlebackground" не может быть разрешена в какой -то операционной системе, проверьте здесь Больше подробностей.
Другие советы
Всякий раз, когда ваш сгенерированный класс R не генерируется, это указывает на то, что возникает проблема с его созданием из -за некоторой проблемы разбора из ресурсов XML. Проверьте консоль ошибки в своей IDE, чтобы выяснить, что именно неправильно.
Общие проблемы:
- Беззаботный персонаж в вашем
strings.xml
, напримерyou're
вместоyou\'re
- Отсутствующий
layout_width
или жеlayout_height
Теги в ресурсах макета - Пропущенные объявления пространства имен
- Имена переменных, которые не поддерживаются Java, например, из -за капитализации или использования пространств, дефисов или других неподдерживаемых символов
- Любой другой вид синтаксической ошибки в XML
- Проверять Приставка Для проблем (изображение прилагается, где консоль определяет проблему, почему R не генерирует в вашем проекте)
Когда я столкнулся с этой проблемой, я удаляю папку Gen, и она будет воссоздан во всех файлах R
Вы увидите в верхней части своего файла, он говорит Import Android.R или R.Java, я забываю. Вам нужно удалить эту линию, очистить проект и повторить.
В основном Android использует R для ссылки на элементы в вашем проекте. Но когда этот оператор импорта будет переопределяется, глядя на ваши каталоги проекта и используют андроиды
Я столкнулся с той же проблемой, пытаясь создать пример кода викисловаря, который я скачал с 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 es\values\strings.xml:23:ошибка:Множественные замены, указанные в непозиционном формате;вы хотели добавить атрибут formatted="false"?C:\Development\WorkJava\android\sampleapps\Wiktionary\com.example.android.wiktionary.LookupActivity es\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>
У меня все еще была эта ошибка после проверки того, что все мои ресурсы не имели ошибок, уборки, восстановления, перезапуска и т. Д.
Я исправил это, отфильтровав файлы SVN из проекта.
Как исключить каталоги .svn из поиска в Eclipse?
В то время как в вопросе упоминается поиск, решение относится к тому, какие файлы используются и в компиляции.
Перезагружен, и все было хорошо.
«Файлы .xml» и «файлы изображений» и убедитесь, что имена строчные.
Измените рабочее пространство на новый каталог и установите свои разрешения, чтобы оно было доступно для всех
В моем случае я нашел имя файла изображения, содержащее прописное заглавное значение внутри Res/Drawable. После изменения имени изображения. это было решено, и я мог построить проект
Я сталкивался с этой проблемой много раз. Правило, чтобы проверить ваши файлы .xml.
R.Java не генерируется, когда есть какие -либо проблемы в файле .xml.
Просто нажмите
Build --> Clean Project
Это сработало для меня