Студия Android внезапно не может разрешить символ R

У меня был проект, открытый в студии Android. Он был создан мастером и работает нормально.

Я сделал небольшие изменения в activity_main.xml, и когда я вернулся к MainActivity.java, я получил ошибку в нескольких местах, которые он не может решить. Я мог бы что-то сделать, чтобы вызвать это. Но я не уверен, что с тех пор, как я редактировал xml.

Кто-нибудь знает, что может быть решением этого? Я могу найти R.java в r/release/packege/com/, и это выглядит нормально.

Ответ 1

В большинстве случаев это связано с плохим XML файлом. Файлы XML могут быть файлами макета, файлами значений или файлом манифеста. Проверьте файлы xml и попробуйте перестроить проект. Иногда выполняется очистка проекта и его восстановление.

Ответ 2

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

Ответ 3

Убедитесь, что в AndroidManifest.xml указано имя пакета. Это устранило проблему для меня, когда мой R.whatever был отмечен красным!

Ответ 4

Попробуйте очистить проект, выполнив следующие действия:

Если вы используете Windows, откройте CMD, cd в каталоге проекта и запустите gradlew clean.

Ответ 5

У меня возникла такая же проблема, тоже (совсем недавно, когда я был за обедом - вернулась и WTF?). И поскольку это была простая программа Hello, World, было мало мест, где эти ошибки могли бы скрыть. Файлы XML выглядели хорошо - я даже не коснулся манифеста. Чистый ничего не сделал.

Итак, я прокомментировал раздел моего макета .xml, чтобы попытаться сузить проблему. Разумеется, ошибки ушли.

И тогда я просто UNcommented точно, что я прокомментировал... и все было hunky-dory. Странный! Возможно, были некоторые затяжные проблемы, которые необходимо было затронуть, чтобы вызвать перестройку файла макета. Вы бы подумали, что в наши дни такие вещи не будут происходить, но они это делают.

Еще одна вещь! Возможно, что что-то может случиться и с Java. Очень сложно узнать статус среды выполнения Java; просто проще начать снова. Итак, еще одна вещь, которую нужно попробовать: перезагрузить компьютер, перезапустить Android Studio, а затем отключить кеши и перезагрузить. Да, весь-бог.

Ответ 6

Я иногда получаю это после обновления Android Studio. Не всегда сразу, но через некоторое время (возможно, после перезапуска программы).

Вот что сработало для меня: Tools - Android - проект Sync с файлами Gradle.

По какой-то причине просто щелкнув ссылку "Синхронизировать сейчас", которая появляется после изменения файла build.gradle, для меня не было никаких изменений. Хотя сообщения говорят примерно то же самое.

Ответ 7

У меня была такая же проблема, потому что в моих строках .xml я забыл избежать апострофа. Использовать "\" никогда не "" в XML файле!

Ответ 8

У меня просто была эта проблема, и причина в том, что после редактирования макета Android-студии автоматически добавили импорт в исходные файлы:

import android.R

Конечно, у основного класса R не все символы в ваших макетах, что сделало все красным беспорядком. Удаление этой строки было решено для меня.

EDIT: Похоже, что eclipse уже та же проблема.

Ответ 9

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

Ответ 10

Эта проблема возникает, если переименовать имя пакета. После переименования имени пакета вы должны изменить пакет старше имя новее. Для меня это решило проблему, как только я это изменил. После этого вы можете получить ошибки в xml файлах, которые вы должны изменить название упаковки там тоже. Что это.

Ответ 11

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

Ответ 12

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

Ответ 13

У меня была эта точная проблема при импорте программы примера Udacity. Панель сообщений в Android Studio заявила, что ошибка не загружала .PNG в подкаталог в глубине файлов проекта.

Выключает PNG со всеми именами путей подкаталога больше, чем ограничение длины имени, определяемое Windows 7 (260 символов). Я дал проекту более короткое имя - чтобы освободить место - и затем Android Studio с удовольствием скомпилировался.