Разработка для Android в Eclipse: R.java не регенерирует - PullRequest
307 голосов
/ 03 мая 2010

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

Я использую Windows 7.

Из одного из комментариев: «Выполнение Проекта -> Очистка - вот что вызвало проблему для меня. Очистка удаляет R.java ... и по любой причине плагин не восстанавливать файл. "

Ответы [ 64 ]

6 голосов
/ 18 июля 2013

Если ваша ОС - Ubuntu, я могу предложить несколько советов:

  1. Установка или обновление ia32-lib:

    sudo apt-get upgrade ia32-libs
    
  2. Проверьте, есть ли у вас права доступа к папке aapt:

    cd ANDROID/adt-bundle-linux-x86_64-20130522/sdk/build-tools/android-4.2.2
    chmod 777 aapt
    
  3. Запустить Eclipse:

    sudo eclipse
    
  4. Запустить проект -> Очистить в Eclipse

6 голосов
/ 17 ноября 2014

У вас 100% ошибка в XML-файле , но проверка XML не показывает ошибку. По этой причине вам сначала нужно проверить свои XML-файлы!

5 голосов
/ 15 марта 2012

ВСЕГДА полезно взглянуть на вкладку Проблемы в Eclipse. В моем случае я получал сообщение об ошибке « android не удалось разрешить цель 'android-8' », которое не позволяло сгенерировать R.java. Итак, я исправил импортированный target к тому, который я использовал в файле default.properties , затем я выполнил очистку через Projects-> Clean и вуаля! R.java генерируется автоматически! Надеюсь, это поможет!

4 голосов
/ 25 сентября 2011

Очистка проекта, закрытие Eclipse, повторное его открытие и запуск моего проекта, наконец, заставили моего R.java появиться снова ... Надеюсь, это поможет

4 голосов
/ 11 июля 2012

R.java никогда не будет сгенерирован, если в папке res есть какие-либо ошибки. Например, в подпапке drawable есть два файла с одинаковыми именами, один - icon.png, а другой - icon.html.

Вы можете увидеть некоторую ошибку в окне журнала консоли Eclipse, которая говорит: «Значок входа в ресурс уже определен». После удаления icon.html вы можете очистить или просто удалить папку gen. Вы обнаружите, что R.java создан.

4 голосов
/ 25 июня 2012

Убедитесь, что вы не импортируете

android.R;

4 голосов
/ 15 февраля 2013

Я обнаружил, что любой файл с заглавными буквами в папке res создаст эту ошибку. Это случилось со мной с файлом PNG , который я добавил и забыл о.

3 голосов
/ 26 марта 2014

Для меня я связал v7 appcompat дважды. В любом случае, в Eclipse, щелкните правой кнопкой мыши имя проекта в Package Explorer или Navigator, перейдите в Properties, Android и снимите отметки с любых дубликатов в разделе Library. Возможно, вам понадобится Build -> Clean впоследствии.

3 голосов
/ 23 августа 2012

Прочитав много постов и видео на YouTube, я обнаружил, что у каждого из нас R.java отсутствует по разным причинам.

Вот как я это исправил в Eclipse:

  • Создать R.java в gen папке вручную и сохранить.
  • После этого перейдите в Project и нажмите «Очистить»

Появится следующее сообщение, и ваш файл будет автоматически перезаписан:

R.java был изменен вручную! Возврат к сгенерированной версии!

2 голосов
/ 01 февраля 2012

Очевидно, нет окончательного ответа на этот вопрос, но вот еще один, которого я здесь уже не вижу:

У меня R.java исчезло после (попытки) Team Synchronize, и в проекте были файлы разрешения конфликтов (то есть thingy.xml.mine, thingy.xml.r35 и т. Д.). Удаляя их / разрешая возникшие конфликты R.

...