Я обнаружил, что мой R.java никогда не обновляется, поэтому он не содержит информации о моих новых ресурсах, поэтому я решил удалить его и подумал, что Eclipse создаст новый. Но этого не произошло, и у меня сейчас нет R.java. Как я могу восстановить один?
Я использую Windows 7.
Из одного из комментариев: «Doing Project -> Clean - это то, что вызвало проблему для меня. Очистка удаляет R.java ... и по какой-либо причине плагин не восстанавливает файл».
android
eclipse
r.java-file
Peter Mortensen
источник
источник
Ответы:
Этот сайт предлагает:
...и...
Этот сайт предлагает другое решение.
источник
R.java
, а не восстанавливает его. stackoverflow.com/questions/13065425/…Я обнаружил, что это происходит со мной со сломанной планировкой, и все взрывается. Расслабьтесь, это похоже на ту старую ошибку, когда вы впервые узнали о программировании на C, когда забыли одну точку с запятой, и она генерирует сотню ошибок. Многие паникуют, нажимают все кнопки и усугубляют ситуацию.
Решение
R.
ссылки на не повреждены. Исправьте все ошибки в ваших файлах XML . Если что-то в ADK сломано,R
не будет регенерировать.import android.R
в своей деятельности, удалите это .Menu -> Project -> Build Project
.Что делать, если R не регенерирует
Это обычно происходит, когда у вас есть поврежденный файл XML.
/res/
папке/layout/
и/values/
, особенно если вы недавно поменяли одно из нихAndroidManifest.xml
. Я нахожу, что часто я изменяю строку и забываю изменить имя строки сAndroidManifest.xml
.Android SDK Build-tools
установлено. Окно -> Android SDK Manager -> Инструменты -> Android SDK Build-toolsAndroid SDK Tools
вы также обновляетеAndroid SDK Platform-tools
иAndroid ADK Build-tools
. Сборка молча проваливается, если они не совпадают.источник
Я была такая же проблема. Когда я проверил это, я обнаружил, что имя разрабатываемого XML-ресурса не имеет правильного соглашения об именах. У него были заглавные буквы. Поэтому я переименовал его, чтобы все буквы были строчными, и магия сработала.
источник
Одна из причин, по которой R.class может внезапно пропасть, - ошибки в ваших XML-файлах. Например, когда вы добавляете XML-файл с заглавными буквами в имени, например, myCoolLayout.xml, который не допускается Или когда у вас есть ссылки, которые не указывают на существующие файлы и т. Д.
источник
Если по какой-то причине это не сработает: убедитесь, что ваши файлы layout.xml не содержат ошибок. Eclipse, кажется, здесь немного глючит: иногда он не помечает ошибки в XML или в проводнике пакетов. В таком случае: посмотрите на «консоль» или «проблемы» после использования «clean». Все ошибки должны отображаться там. Исправьте их и переделайте чистую.
ПРИМЕЧАНИЕ: НЕ обязательно исправлять ошибки, которые вы получаете из-за отсутствующего R-файла! Просто исправьте файлы XML и другие ошибки проекта и используйте clean!
источник
Быстрая починка:
Имя пакета в манифесте должно совпадать с именем в
/src
папке,/gen
пакет будет автоматически воспроизведен.Детальное наблюдение:
Обратите внимание на название пакета в
/gen
папке. В моем случае это было не так, как в/src
папке.Пакет, указанный в манифесте, является пакетом
/gen
папки.Я попытался добавить пакет с именем
/src
папки в/gen
папку, чтобы увидеть, что случилось бы, но это не решило проблему. Затем я удалил имя пакета, которое не совпадает с именем пакета в/src
папке. Этот пакет с именем, не соответствующим/src
папке, был воссоздан, как только я его удалил.Поскольку ссылка на пакет в манифесте соответствовала той, которая была бессмысленно воссоздана и которая не соответствовала пакету в
/src
папке, это побудило переименоватьpackage = "oldPackage"
с помощьюpackage = "srcFolderPackage"
.источник
У меня была та же проблема, и я наконец нашел проблему: в strings.xml я не сохранил строку,
<string name="app_name">program-name</string>
которая присутствует по умолчанию при создании нового проекта Android. Я думал, что он был использован только для программы HelloWord, которая является оригинальной программой.Однако AndroidManifest.xml ссылается на это значение, поэтому:
=> Ошибка компиляции;
=> R.java не обновляется;
=> ID не распознаются ...
источник
Android добавил в SDK инструмент сборки ADT 22 для механизма сборки. Вам просто нужно сделать следующие шаги.
Это решит проблему.
источник
Если ваш R.java не генерируется, одним из решений является удаление файла макета с именем «blabla.out.xml».
После удаления этого файла попробуйте очистить проект из меню Project -> Clean .
источник
В качестве обобщения ответа Glaux, если у вас есть какие-либо ошибки в
res
каталоге, R.java может не сгенерировать - даже если вы очистите и восстановите. Устраните эти ошибки в первую очередь.В качестве примера: когда вы добавляете файл изображения, скажем, «myimage-2.jpg», система сочтет это ошибкой, поскольку имена файлов ограничены буквенно-цифровыми значениями. После добавления любых файлов обновите каталог 'res' и просмотрите вывод в окне консоли на наличие предупреждений об именах файлов.
источник
Если ваша ОС - Ubuntu, я могу предложить следующее:
Установите или обновите ia32-lib:
Проверьте, есть ли у вас права доступа к папке aapt:
Запустите Eclipse:
Запустить проект -> Очистить в Eclipse
источник
У вас на 100% есть ошибка в XML-файле , но проверка XML не показывает вам ошибку. Это причина, почему вы должны проверить ваши файлы XML в первую очередь!
источник
ВСЕГДА полезно взглянуть на вкладку « Проблемы» в Eclipse. В моем случае я получал сообщение об ошибке « Android не удалось разрешить цель« android-8 » », которое не позволяло сгенерировать R.java. Итак, я исправил импортированную цель на ту, которую использовал в файле default.properties , а затем выполнил очистку через Projects-> Clean и вуаля! R.java генерируется автоматически! Надеюсь, поможет!
источник
Очистка проекта, закрытие Eclipse, повторное его открытие и запуск моего проекта, наконец, заставили моего R.java появиться снова ... Надеюсь, это поможет
источник
Убедитесь, что вы не импортируете
android.R;
источник
R.java никогда не будет сгенерирован, если в
res
папке . Например, в подпапке drawable есть два файла с одинаковыми именами, один - icon.png, а другой - icon.html.Вы можете увидеть некоторую ошибку в окне журнала консоли Eclipse, которая говорит: «Значок входа в ресурс уже определен». После удаления icon.html вы можете очистить или просто удалить
gen
папку. Вы обнаружите, что R.java создан.источник
Я обнаружил, что любой файл с заглавными буквами в
res
папке создаст эту ошибку. Это случилось со мной в формате PNG, который я добавил и забыл о.источник
Прочитав много постов и видео на YouTube, я обнаружил, что каждый из нас
R.java
пропал по разным причинам.Вот как я это исправил в Eclipse:
gen
папке вручную и сохраните.Появится следующее сообщение, и ваш файл будет автоматически переписан:
источник
Для меня я связал v7 appcompat дважды. В любом случае, в Eclipse, щелкните правой кнопкой мыши имя проекта в Package Explorer или Navigator, перейдите в Properties, Android и снимите отметки с любых дубликатов в разделе Library. Возможно, вам понадобится Build -> Clean впоследствии.
источник
Очевидно, что нет окончательного ответа на этот вопрос, но вот еще один, который я здесь уже не вижу:
У меня была
R.java
исчезнуть после (попытки) в сборную команду Синхронизировать, и там были файлы разрешения конфликтов в проекте (т.е.thingy.xml.mine
,thingy.xml.r35
и т.д.). Удаление их / разрешение конфликтных ситуацийR
.источник
У меня была эта проблема. Я случайно удалил это
что стало причиной ошибок сборки во всем проекте в моих XML-файлах, а также в моих Java-файлах. Как только я набрал то, что я удалил, это снова заработало :)
источник
Итак, ясно, что для этой проблемы может быть много причин. Если вы работаете на 64-битной Linux-машине и впервые настраиваете ADT, вы можете столкнуться с этой проблемой, когда R не генерируется автоматически. Проверьте вкладку консоли, и вы можете увидеть ошибку, похожую на:
Если это так, вам нужно установить ia32-libs, используя что-то вроде:
Подробности здесь: Android adb не найден
источник
Я сталкивался с этой проблемой несколько раз. Я обнаружил, что, если я не импортировал пакет R через имя моего приложения, например, если мое приложение имело имя пакета example.test, то я обнаружил, что мне пришлось импортировать example.test.R для доступа к любому из Ресурсы.
Если это не было импортировано, то ресурсы, которые были возвращены, были ресурсами по умолчанию, но мои собственные не были включены.
С учетом сказанного, если вы обнаружите, что получаете только список ресурсов по умолчанию, просто проверьте, что вы импортируете application_package_name.R, а не android.R.
источник
Моя проблема была в том, что
appcompat
он не был в той же директории, что и мой проект.Я узнал об этом при компиляции моего приложения с помощью Ant .
источник
Также убедитесь, что у вас установлена последняя версия плагина ADT, и откройте диспетчер Android SDK, чтобы обновить все инструменты SDK до последней версии. Проверьте наличие обновлений в самом Eclipse. Несоответствующие версии вызвали проблему для меня.
источник
Моя проблема была внутри файла меню. Компилятор не предупреждает вас, если
strings.xml
в файлах меню есть ссылки на строки, которых нет внутри . Проверьте, не содержат ли вашиitem
файлы XML в вашем меню какие-либо строки, которых нет в вашемstrings.xml
. Обычно вandroid:title
.источник
Для меня эта ошибка была вызвана тем, что я пытался дублировать существующий
res/menu
вместо того, чтобы создать один сwizard
.источник
Все эти ответы не могут работать, если вы используете Maven. Решение для меня было добавить
в раздел конфигурации Android-Maven-плагин.
источник
Я нашел решение, почему R.class не создается Eclipse после повторного создания - 2 clean, build и т. Д.
Проблема здесь в strings.xml:
По умолчанию они создаются Eclipse при создании проектов.
Определенно вы меняете strings.xml для своих собственных требований. Иногда вы очищаете string.xmls эти две строки из вашего кода:
В файле AndroidManifest.xml возникает проблема:
Так что он не может общаться с strings.xml.
источник
Я изменил имя своего XML-файла макета и узнал позже, что XML-файл (в данном случае провайдер виджетов) все еще ссылается на старый XML-макет, который не существует, и это препятствовало автоматической генерации / исправлению класса R.
источник