Подтвердить что ты не робот

Ошибка Eclipse: R не может быть разрешено переменной

Я получаю эту классическую ошибку в Eclipse IDE. Мне скучно от ошибок Eclipse. Они сводят меня с ума.

Я почти пробовал все, что предлагалось в качестве решения (Googling). Ни один из них не работал.

Мой проект работал нормально, но не изменял код.

Я вижу, что мои изменения кода не действуют на мое приложение (на AVD), после чего я очистил свой проект (под Project > Clean...). R.java файл пропал, и папка res была пуста.

Теперь я получаю эту ошибку: R cannot be resolved to a variable.

Что мне делать?

А также я попытался удалить проект и создать снова с помощью Android Project from Existing Code, который я сделал резервную копию ранее. Он уже дает такую ​​же ошибку после очистки.

Любые идеи будут оценены.

4b9b3361

Ответ 1

Я предполагаю, что вы обновили ADT с версией 22, а файл R.java не генерируется.

Если это так, то вот решение:

Надеюсь, что у студии Android есть gradle инструмент для построения. То же, что и в eclipse, они предоставили новый компонент в папке "Инструменты" под названием Android SDK Build-tools, которая должна быть установлена. Откройте Android SDK Manager, выберите новые инструменты сборки, установите его, перезапустите диспетчер SDK после обновления.

enter image description here

Ответ 2

Я не отправляю это как ответ, но подтверждение принятого ответа Пареша. Недавно я обновил инструменты SDK до версии 22, и я заметил, что мои изменения в коде не влияют на устройство, которое я тестирую вообще. Например, URL-адрес, который я использовал, я получал ошибки для времени подключения в отношении URL-адреса, который я использовал ранее. Поэтому я очистил проект и снова построил, чтобы узнать, что отсутствует автогенерированный файл R.java.

После прочтения ответа Paresh и проверки того, что происходит с моим менеджером sdk, это то, что я увидел: enter image description here

SDK Build-tools 17 не был установлен, и было уже новое обновление для SDK-инструментов, хотя оно не упоминает никаких изменений, связанных с этой проблемой в журнале изменений, это обновление вернуло мой файл R.java и связанные с ним проблемы исчезли после перезапуска затмения и окончательной очистки/восстановления в проекте.

Ответ 3

Файл R не может быть сгенерирован, если ваш макет содержит ошибки. Если ваша папка res пуста, то можно с уверенностью предположить, что нет папки res/layout с любыми макетами в ней, но ваша деятельность, вероятно, вызывает setContentView и не находит ничего, что квалифицируется как проблема с вашим макетом.

Ответ 4

Попробуйте удалить строку импорта import com.your.package.name.app.R, тогда любые вызовы ресурсов, такие как mView= (View) mView.findViewById(R.id.resource_name);, будут выделять "R" с ошибкой, "Быстрое исправление" предложит вам импортировать R, и там будет менее двух вариантов:

  • android.R
  • your.package.name.R

Выберите R, соответствующее имени вашего пакета, и вам должно быть хорошо идти. Надеюсь, это поможет.

Ответ 5

В дополнение к установке инструментов сборки и перезагрузке диспетчера обновлений мне также пришлось перезапустить Eclipse, чтобы сделать эту работу.

Ответ 6

У меня был полностью рабочий проект, в котором я делал небольшие изменения, когда это произошло после обновления пакета SDK. Eclipse обновил SDK и ADT, но я все еще не мог построить проект. Exlipse сказал, что новых обновлений нет.

Проблема продолжалась до тех пор, пока я вручную не удалил ADT из eclipse и не установил его повторно. Только тогда мой проект будет построен. Я запустил затмение между каждым шагом.