Вопрос

Возможный Дубликат:
Разработка для Android в Eclipse:R.java не генерирующий

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

Как я могу отредактировать R-файл, чтобы он соответствовал требованиям моего проекта?

Это было полезно?

Решение 3

Хорошо, я исправил:

Когда я изменил манифест на целевую версию 1.5, появился миллион ошибок, и только одна не была связана с отсутствием класса R - в файле манифеста атрибуты «targetSdkVersion» и «maxSdkVersion» не существовали в SDK 1.5.

Из-за этого класс R не смог сгенерировать.

Другие советы

В еще один вопрос о stackoverflow, кто-то ответил на это:вы должны избавиться от предупреждений и ошибок (синтаксиса и ссылок) в ваших XML-файлах.Это плюс выполнение проекта очистки/сборки.

Проект -> Очистить и выберите вариант сборки проекта.

Я обнаружил, что это происходит со мной из-за сломанной компоновки, и все взрывается.Расслабьтесь, это похоже на ту старую ошибку, когда вы впервые учились программированию: вы забыли одну точку с запятой, и она генерирует сотню ошибок.Многие паникуют, нажимают на все кнопки и усугубляют ситуацию.

Решение

  • Убедитесь, что что-либо R. ссылки не битые.Если он сломан, ADK не сможет восстановить R. Исправьте все ошибки в ваших XML-файлах..
  • Если вы каким-то образом наткнулись на что-то и создали import android.R в вашей деятельности, убери это.
  • Бегать Проект -> Очистить.Это приведет к удалению и восстановлению R и BuildConfig.
  • Убеждаться Проект → Сборка автоматически отмечен галочкой.
  • Ждать несколько секунд, чтобы ошибки исчезли.
  • Если не помогло, удалите все из папки /gen/.
  • Если это все еще не работает, попробуйте щелчок правой кнопкой мыши по проекту -> Инструменты Android -> Исправить свойства проекта.

Что делать, если R не регенерирует

Обычно это происходит, когда у вас поврежден XML-файл.

  • Проверьте ошибки внутри ваших XML-файлов, в основном в папке /res/.
  • Обычными местами являются /layout/ и /values/, особенно если вы недавно изменили один из них.
  • Проверьте AndroidManifest.xml. Я обнаружил, что часто меняю строку и забываю изменить имя строки из AndroidManifest.xml.
  • Если вы не можете найти проблему. щелкните правой кнопкой мыши /gen/ -> Восстановить из локальной истории...-> отметьте R.java -> нажмите «Восстановить».Это не решит проблему, но устранит лишние ошибки и облегчит поиск проблемы.

Я знаю, что здесь уже есть много ответов, но это первая ссылка в Google, поэтому я собираю все советы здесь и надеюсь, что они помогут кому-то еще, новичку в этом :)

У меня была аналогичная проблема: файл R.java не восстанавливался после добавления нескольких значков и файлов макета.Я попробовал очистить и перестроить, но ситуация ухудшилась, поскольку исходный файл R.java исчез и до сих пор не был восстановлен.В конце концов меня осенило, что должны быть ошибки компилятора, генерирующего R.java, и они не отображаются в консоли.К счастью, я заметил это раньше.

  1. это ошибка, если один файл .xml ссылается на другой, который не существует и
  2. использование заглавных букв в именах файлов является ошибкой (почему это запрещено, я ОБОЖАЮ верблюжий регистр).

В любом случае, после переименования моих значков и файлов .xml в нижний регистр и последующего исправления всех ссылок внутри файлов .xml, вуаля, R.java был восстановлен.Как раз вовремя, чтобы почувствовать себя хорошо, когда я остановился на обед :-)

Чтобы снова создать файл R:

  1. Измените что-нибудь в макете->activity_main.xml.
  2. Сохраните файл
  3. Проект->Очистить...

Просто удалите файл R, расположенный в каталоге gen, а затем попробуйте Project->Clean.Затем снова создайте свое приложение.

Вы также можете щелкнуть правой кнопкой мыши по project -> Android Tools -> Fix Project Properties.Это должно привести к повторному созданию класса R.java.

Моя проблема была в файле манифеста.Я удалил значки запуска и не ссылался на новые в Manificest :)

Я снова открываю eclipse, редактирую один из моих XML-файлов и затем обнаруживаю, что мой класс активности ссылался на android.R вместо моего пакета "R" :-)

Чтобы восстановить R.class, вам придется попробовать несколько методов.

  • Удалите любой импорт R из исходных файлов Java: import R.android
  • Обязательно откройте панель «Проблемы», выбрав «Окно» -> «Показать вид» -> «Проблемы».
  • Если у вас есть какие-то ошибки в ваших XML-ресурсах, вам необходимо их исправить.В моем случае мне пришлось изменить атрибуты идентификатора, включив в него знак «+» следующим образом: android:id="@+id/grp_txt"
  • Теперь перейдите к Project->Clean.
  • Наконец, выполните Project->Close, Project->Open.

Знак «+» указывает на новый идентификатор ресурса и заставляет инструмент aapt создать новое целое число ресурса в классе R.java.

Если вы используете Intellij IDEA, вы можете нажать «Создать» — «Перестроить проект».

Если вы случайно удалили свой R в Eclipse «Project Clean» (не сделайте этого) правой клики на вашем ProjectFile -> Восстановите из местной истории ...

воссоздай свой R

Мое дело:

  • Неработающий XML вызвал ошибку в R.(из-за ä, ö, ü, букв в идентификаторе)
  • чистый проект удалил мой R.

Что я сделал:

  • воссоздал R из местной истории
  • проверил неправильный импорт R в моих классах (например, импорт android.R) и удалил их
  • исправил этот XML-файл и сохранил его содержимое во внешнем текстовом файле
  • полностью удалил XML из моего проекта.
  • запускал мой проект один раз
  • верните этот исправленный XML на место

и...

  • крепко обнял свою девушку без причины после того, как испугался, как Халк.

Моей проблемой были ошибки в моих XML-файлах.Ошибки не всегда обнаруживаются автоматически в Android Common XML Editor или Android Common Manifest Editor, поэтому попробуйте вместо этого использовать обычный текстовый редактор.Например, каким-то образом какая-то случайная тарабарщина из файла .java была вставлена в мои файлы manifest и strings.xml.

Щелкните правой кнопкой мыши на любых XML-файлах (скорее всего, в папке / res или AndroidManifest.xml) и нажмите "Открыть с помощью", затем выберите "Текстовый редактор". Убедитесь, что все выглядит хорошо, а затем сохраните.Кроме того, не забудьте включить "Автоматическую сборку" для вашего проекта.Я удалил свой R.java файл, и он был восстановлен с нуля, поэтому нет необходимости восстанавливать его из локальной истории.

Попробуйте добавить новый «XML-файл Android», например, в /res/layout папка.Это может привести к тому, что плагин заново создаст R сорт.

Вы можете просто изменить любые XML-файлы в папке /res и даже просто добавить пробел и сохранить, он будет создан заново.

У меня была такая же проблема - пропала буква R.И ни один из приведенных здесь советов не помог.К счастью, я нашел причину - каким-то образом Eclipse потерял цель Project-Properties.Он был не установлен.Я до сих пор не знаю, что это сделало, но установка обратно помогла.Итак, внимание - отсутствие R может означать отсутствие цели, слишком!

Я попробовал все решения выше.Но, к сожалению, мою проблему это не решило.Моя R.java исчезла, как только я вставил новое изображение в папку с возможностью рисования.Прочитав ответы на этот вопрос, я попытался удалить значок у меня есть ранее вставленный (пока сборка включена автоматически), и после этого все было в порядке.Надеюсь, это кому-то поможет!

У меня была эта проблема, и я просто щелкнул правой кнопкой мыши пакет моего проекта и создал проект.Мгновенно класс R появился в пакете Gen.

На случай, если кто-то еще найдет эту тему при поиске в Google, как это сделал я:

Некоторое время у меня была та же проблема, и после некоторого копания я заметил, что файл R.java был правильно построен, но игнорировался только один моих исходных файлов.Проблема для этого конкретного файла заключалась в том, что Eclipse «услужливо» добавил вверху следующую строку:

import android.R;

Это эффективно скрывает суть проекта R.Просто удали его и все снова будет хорошо...

Вы можете использовать «Восстановление из локальной истории» Eclipse, чтобы восстановить старый файл R, если он был удален.После этого вы, возможно, увидите, что мешает Eclipse собрать ваши файлы (я видел и другие ошибки, которые действительно помогли решить проблему).

Возможно, вы можете перейти к свойствам проекта и выбрать опцию Android, а затем определить цель проекта.Как только вы примените выбранный целевой API для этого проекта, он автоматически сгенерирует R.java.

В основном проблема с неверным файлом макета.Откройте представление «Проблемы» и найдите ошибки в файлах макета XML.Исправьте их, и класс R будет воссоздан.

В моем случае реальной ошибки не было.Представление проблемы показало ошибку в макете XML.Редактор также показал ошибку XML.Простое переформатирование XML с помощью автоматического форматировщика с помощью «ctrl-f» «исправило» «ошибку» XML, и класс R был воссоздан.

Вы можете просто удалить файл R.java из своего проекта, и он будет восстановлен, если у вас включена автоматическая сборка.Если у вас не включена автоматическая сборка, просто перейдите в проект-> построить все

Для меня это был ресурс со строковым значением, который не был определен… после того, как я добавил его вручную в Strings.xml, класс R был автоматически перегенерирован!

Эта проблема обычно возникает при импорте из существующего проекта.Постарайтесь исправить все ошибки со всех .xml файлы в рез папку, а также Манифест файл.Скорее всего, ошибки показаны в "match_parent" параметр, измените его на "fill_parent".Когда все ошибки будут устранены, появится R.java.

Если ни в одном XML-файле нет ошибок.Попробуйте отредактировать любой XML-файл (например, удалить букву и ввести ее обратно), а затем сохранить файл, это приведет к созданию файла R.java.

У меня проблема в том, что findViewById(R.id.edit_text) но возвращайте TextView, а не EditText.Я думаю, проблема в том, что класс R.id имеет неправильный идентификационный номер, затем я очищаю проект, и он работает нормально.

В моем случае это был XML-файл с неправильным именем, из-за которого мой файл R не перестраивался.Это не отобразилось в проводнике пакетов, но было показано в LogCat.Следите за предупреждениями о ваших файлах res.Независимо от того, сколько раз вы очищаете свой проект, файл R не будет перестроен, пока эти ошибки не будут устранены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top