Ошибка Eclipse: R не может быть разрешено переменной
Я получаю эту классическую ошибку в Eclipse IDE. Мне скучно от ошибок Eclipse. Они сводят меня с ума.
Я почти пробовал все, что предлагалось в качестве решения (Googling). Ни один из них не работал.
Мой проект работал нормально, но не изменял код.
Я вижу, что мои изменения кода не действуют на мое приложение (на AVD), после чего я очистил свой проект (под Project > Clean...
). R.java
файл пропал, и папка res была пуста.
Теперь я получаю эту ошибку: R cannot be resolved to a variable.
Что мне делать?
А также я попытался удалить проект и создать снова с помощью Android Project from Existing Code
, который я сделал резервную копию ранее. Он уже дает такую же ошибку после очистки.
Любые идеи будут оценены.
Ответы
Ответ 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 и не установил его повторно.
Только тогда мой проект будет построен. Я запустил затмение между каждым шагом.