it-swarm.com.ru

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

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

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

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

10
Einar Sundgren

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

33
Shaleen

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

4
Tash Pemhiwa

Понизьте версию своего Gradle Plugin

Никакое количество очистки, восстановления и перезапуска не поможет мне. 

Only то, что сделало трюк, понизило нашу версию Gradle с 3.4.0-alpha02 до 3.2.1.

Итак, вместо:

dependencies {
    classpath 'com.Android.tools.build:gradle:3.4.0-alpha02'
}

Мы использовали:

dependencies {
    classpath 'com.Android.tools.build:gradle:3.2.1'
}

После внесения этого изменения и последующей синхронизации Gradle все заработало. 

Не уверен, связано ли это с альфа-версией или с этой версией, или если изменение вашей версии Gradle вообще просто вызывает обновление, которое в противном случае не может быть выполнено с помощью других команд, но все готово.

4
Joshua Pinter

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

3
craned

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

1
Jeremie

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

Вот что сработало для меня: Инструменты - Android - Синхронизировать проект с файлами Gradle. 

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

1
Christina

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

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

1
Chandra Kurniawan

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

Поэтому я закомментировал раздел моего layout.xml, чтобы попытаться сузить проблему. Конечно же, ошибки ушли.

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

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

1
Scott Biggs

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

0
Clif

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

0
Acupolco

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

0
HagTheDon

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

import Android.R

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

Правка: Похоже, Eclipse имел та же проблема в начале.

0
Roberto Piva

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

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

0
Mark Mosher

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

0
Rowie