В каждом случае во всех моих классах, на которые я ссылаюсь R.id.something
, R
он выделен красным цветом и говорит: «не удается разрешить символ R». Также каждый раз, когда R.layout.something
это происходит, оно подчеркивается красным и говорит: «не удается разрешить метод setContentView (?)». Проект всегда строит нормально. Досадно видеть это все время. Здесь я прочитал много других вопросов о чем-то похожем, но чаще всего связан с импортом проектов из Eclipse. Я использую то, что я считаю самой последней версией Android Studio, и проект был создан с помощью Android Studio и работал без каких-либо проблем «не могу решить R». Я хотел бы знать, что вызывает это, если кто-нибудь знает.
android
android-studio
r.java-file
ez4nick
источник
источник
Ответы:
У меня была эта проблема тоже. Простой 'gradlew clean' и 'gradlew build' сделали свое дело.
Нажмите на Build-> Clean Project, и он выполнит чистку gradle
источник
В последних версиях Android Studio, по крайней мере для меня, работает следующее:
«Инструменты» -> «Android» -> «Синхронизировать проект с файлами Gradle»
В последней версии Android Studio 3.1.3 (июль 2018 года) «Синхронизация проекта с файлами Gradle» доступна в строке главного меню.
источник
Я использовал Gradle 3.3.0. Это был главный виновник. Потрачено впустую 6,50 часов из моей жизни. Gradle 3.2.1 устранил ошибку.
Проблема решена после изменения версии Gradle. Подробности истории можно найти здесь .
источник
3.2.1
фактически единственным решением , которое работает для меня ...3.2.1
вы также можете обновить Android Studio до версии3.3
. Смотрите мой ответ здесьУ меня похожая проблема, и вот что я сделал:
Очистить проект и синхронизировать проект с Gradle,
проверьте версию buildTools в моем sdk
Из сборки gradle (модуля) изменить minSdkVersion с 8 на 9
Но все это не помогло.
Наконец я нашел ответ (это сработало в моем случае)
Переход от build.gradle (модуль: приложение)
Или
Выбрать файл | Изменение структуры проекта Версия инструментов сборки на 21.1.1
источник
Это оно.
Например, у меня была запись в моем
strings.xml
:И
activity_main.xml
я использовал эту строковую записьПока я работал с проектом, я удалил
И следовательно
activity_main.xml
стал недействительным. Как результат: не может разрешить Р.Итак, проверьте ваши
*.xml
файлы и очистите проект.источник
Если вы видите эту ошибку после перемещения файлов или каталогов Java в другие места, вы можете гарантировать, что Android Studio запуталась. И угадайте, что? отмена этих действий не решает проблему.
Таким образом, вы пытаетесь чистить, но это не работает.
И перезапуск тоже не работает.
Но попробуйте File -> Invalidate Caches / Restart ... -> Invalidate and Restart
Android Studio хранит информацию о том, какие файлы зависят от каких других файлов. А поскольку перемещение файлов не реализовано правильно, перемещение файлов вызывает ошибки. И это еще не все: кэши этих зависимостей используются для ускорения сборки.
Это означает, что вам нужно не только перезапустить, но и аннулировать эти кэши, чтобы восстановить (или, точнее, восстановить) здравомыслие.
источник
Я думаю, если вы поместите ваши файлы деятельности в другую папку, чем по умолчанию. Вам нужно импортировать
com.example.yourproject.R
(этоR
файл вашего проекта, а НЕAndroid.R
файл) во все виды деятельности, используяR
. Например, вMainActivity
файле вставьте эту строку:источник
Кажется, есть много причин для этой проблемы. Недавно я добавил тестовое действие с названием NewActivity. Это создало файл с именем,
res/menu/new.xml
и gradle не понравилось это имя, потому что new является зарезервированным словом.или
Это, безусловно, хорошие вещи, которые стоит попробовать, но у вас могут возникнуть другие проблемы, которые необходимо решить, прежде чем запускать эти команды.
источник
Файл R.java содержит ссылку между XML и страницей Java. «R не может быть решена» возникает только в том случае, если есть проблема с некоторыми из ваших файлов ресурсов. Таким образом, лучший и эффективный способ - удалить последний созданный файл XML или файл в формате res. и затем снова начать оттуда в соответствии с нормами кодирования Android. Это единственный способ. Эффективный и правильный путь.
Также используйте Git для правильного отслеживания кода. ..
источник
Ваш код только что зашифрован. Ответ довольно прост.
Просто зайдите в Build -> Clean Project .
Это должно делать свое дело.
Проверьте также свою версию Android Studio.
В настоящее время я использую Android Studio 3.0.1 .
источник
Вы недавно обновили свои инструменты SDK? Запустите android SDK manager и убедитесь, что у вас установлены новейшие инструменты SDK, которые теперь отделены от инструментов платформы. У меня была такая же проблема, когда я впервые обновил свой менеджер SDK, пакет инструментов сборки SDK не появлялся для установки / обновления, пока я не закрыл и не открыл заново менеджер SDK.
источник
Просто очистите ваш проект и синхронизируйте проект с Gradle File.
И проблема будет решена.
источник
У меня было это с
источник
Build->Clean Project
У меня недавно была эта проблема, и очистка / сборка и т. Д. Не решили ее. Я догадывался, что где-то возникла проблема, но не был уверен, где ее можно найти (было ли это в манифесте, файлах ресурсов XML и т. Д.?).
Когда что-то не так, вы можете узнать, что это такое, выполнив анализ кода.
Из меню вверху выберите:
Анализ -> Проверка кода, сканирование всего проекта с использованием профиля «По умолчанию».
Ваши результаты проверки будут содержать элемент под названием «Android». Здесь вы получите список всего, что вызывает проблемы в ваших ресурсах и файле манифеста. Ошибки откроют сгенерированные XML-файлы из вашей сборки, которые будут отображать все ошибки красным цветом.
Моя точная проблема была вызвана тем, что я использовал файлы манифеста
<application>
на основе аромата и случайно скопировал некоторые разрешения внутри тега в аромате.ОБНОВЛЕНИЕ: у меня действительно была проблема после того, как Android Studio все еще показывал ошибку после исправления, хотя я мог теперь собирать и работать отлично, пока ошибка все еще была. (Я управляю сборкой канарейки, так что пока что опускаю ее до этого)
источник
Мне пришлось импортировать мой
R
пакет в Android Studio. Например:import com.example.<package name>.R
источник
import com.example.old-package-name.R
, поэтому мне пришлось переименовать импорт.Это очень старый вопрос, но он все еще часто случается, и здесь нет исчерпывающего ответа.
У меня была эта проблема больше раз, чем я хочу признать. Это может быть вызвано множеством проблем, которые в основном связаны с тем, что структура вашего проекта не соответствует ожидаемой. Вот список всех проблем, которые у меня были:
Импорт из Eclipse в Android Studio не всегда работает гладко, особенно в старых версиях Android Studio. Убедитесь, что вы используете правильное дерево каталогов. Это должно выглядеть так для умеренно зрелого приложения:
Это может выглядеть не так в вашей IDE. Над деревом файлов есть раскрывающийся список, который отображает ваши файлы по-разному, и по умолчанию в моей системе он называется Android, который разбивает ваши файлы на различные типы. Такую проблему проще решить с помощью Project, а еще проще - непосредственно из файловой системы вашей ОС, потому что Android Studio сворачивает папки, содержащие только одну папку, в одну строку.
Особенно, если вы когда-нибудь измените имя своего приложения, вам нужно убедиться, что дерево исходного кода main / java / com / domain / AppName обновлено. Также убедитесь, что тег пакета в вашем AndroidManifest.xml правильный.
Если в ваших файлах Gradle или AndroidManifest.xml есть ошибки, это помешает Android Studio правильно создавать файлы ресурсов. Файлы Gradle могут быть повреждены при обновлении Android Studio, особенно в версиях до 1.0. Иногда это происходит потому, что он перестает поддерживать старые версии плагина Gradle, поэтому вам нужно обновить номера версий. Иногда бывает сложно найти текущие версии. На сегодняшний день, 17.07.15, мои приложения нормально компилируются
com.android.tools.build:gradle:1.2.3
. Это находится в блоке зависимостей во внешнем файле Gradle,Если ваш AndroidManifest ссылается на несуществующий рисуемый или строковый ресурс или действие, он сломается и вызовет эту ошибку. Иногда, если что-либо ссылается на несуществующий нарисованный или строковый ресурс, вы получите эту ошибку.
Если у вас есть файл в ваших ресурсах, который поврежден, или неверный файл XML, вы получите эту ошибку.
По моему опыту, иногда Android Studio просто бездействует, и вам нужно перезагрузить его и / или ваш компьютер. Я не знаю почему, но иногда это работает.
Если у вас есть два ресурса xml с одинаковым именем, в каталогах, которые не перекрывают друг друга, вы можете столкнуться с этой проблемой. Например, у вас могут быть одинаковые имена в drawable-mhdpi и drawable-xhdpi, потому что они переопределяют друг друга в зависимости от целевого устройства, но если у вас одинаковое имя в макете и в меню, это вызовет проблему. Переименуйте или удалите один из файлов.
Если только некоторые ресурсы имеют эту проблему, эти ресурсы, скорее всего, находятся в неправильном каталоге.
В одном случае мне пришлось полностью переустановить Android Studio. Я не знаю, что случилось, но это сработало.
В одном случае я переместил весь свой проект в другой каталог и повторно импортировал его как новый проект. Я не знаю, что случилось, но это сработало.
Файлы XML с зарезервированными словами для имен могут вызвать эту проблему. Переименуйте или удалите их.
Есть несколько способов, которыми ваш файл Gradle может в конечном итоге ссылаться на версию инструментов сборки, которые вы не установили. Исправьте это, изменив Gradle или загрузив соответствующие инструменты сборки.
Наконец, после того, как вы исправили все, что не так, вам нужно очистить свой проект Gradle. Вы делаете это, перейдя в меню Build вверху и выбрав Clean Project.
источник
Просто зайдите в список верхнего меню Android. нажмите на меню Build , в под Build нажмите на перестроить проект.
источник
Я столкнулся с этой проблемой, когда вручную переименовал папку домена моего приложения. Чтобы решить эту проблему, мне пришлось
package
структуру папок<manifest>
вAndroidManifest.xml
.android:name
из<activity>
вAndroidManifest.xml
.Проблема исчезнет, как только Android-студия перезапустится и создаст новый индекс.
источник
У меня была та же проблема: Android Studio 3.2 Проект компилируется и работает нормально, но я получаю предупреждения "Не удается разрешить символ" R "на экране
Имеет ли не помощь:
Помогает:
или
в build.gradle
заменить
или
Обновите Android Studio до 3.3
источник
У меня есть особый случай для этой проблемы.
В моем проекте все идет хорошо, его можно скомпилировать и собрать успешно, но в моей Android Studio IDE (и я тоже пробовал Intelligent IDEA, они в одинаковой ситуации) файл R.java не может быть хорошо решен и всегда будет падение в красной линии.
Именно так:
Это почти сводило меня с ума, я не могу вынести цвет чтения, когда я программирую.
Наконец я обнаружил, что эта хитрая проблема вызвана размером файла моей R.java. Мой проект очень большой, он поддерживает множество языков и размеры экрана. Есть так много ресурсов, что размер файла моей R.java составляет около 2,5 МБ .
Максимальный размер файла в Android Studio составляет 2,5 М в настройках по умолчанию, поэтому файлы, размер которых превышает это ограничение, не могут быть разрешены должным образом. И вы можете изменить настройки по умолчанию в "AndroidStudio-root / bin / idea.properties".
изменить эту строку:
к:
Затем перезапустите Android Studio, красный цвет исчез, я снова могу программировать.
источник
Построить> Чистый проект
Это сработало для меня. Была одна и та же проблема несколько раз, и это, кажется, исправило ее. Если вы не изменили что-то или не назвали переменную R. Эта проблема обычно возникает из ниоткуда, когда это происходит со мной, поэтому я представляю, что просто Android-студии волнуются. ха-ха
Желаем удачи и удачи в ваших проектах.
источник
Do: Build> Чистый проект
ВАЖНО: убедитесь, что у вас нет ошибок после очистки проекта в панели сообщений (Alt + 0). Если вы обнаружите какие-либо красные кружки с восклицательным знаком, вы должны удалить эти ошибки в своем коде.
В основном эти ошибки связаны с @ string / или @ array /. Чистый проект снова и готово!
источник
У меня была такая же проблема, и это происходит, когда я создаю новый проект.
Что я делаю это:
Это подходит для меня.
источник
Мне было трудно исправить это самостоятельно.
Это сработало для меня, надеюсь, это сработает и для вас.
источник
У меня была такая же проблема, и в большинстве случаев она решается
Но на этот раз ошибка не исчезла даже после выполнения всех этих действий, и, наконец, я нашел виновника.
Проблема была в файле XML , где я дал обычное строковое значение
android:id
вместо типа ресурса id .ОШИБКИ
КОРРЕКЦИЯ
НОТА
В большинстве случаев компилятор показывает вам источник ошибки в сообщении. Попробуйте проверить это, прежде чем пытаться другие решения
источник
`У меня была та же проблема, и она была решена с помощью:
источник
Эта запись, кажется, работает нормально.
Панель дизайна Android Studio, кажется, не работает хорошо.
источник
Та же проблема. Начал, когда я добавил несколько изображений в свою папку для рисования и попытался получить к ним доступ. Также добавленные изображения имели расширение с заглавными буквами. Это, похоже, привело к сбою сборки, так как даже если я переименовал их, сообщение было таким же, и R был недоступен. То, что я сделал, в файле .iml я искал excludeFolder и удалил их (как показано ниже):
После этого я перестроил проект, и R волшебным образом появился снова.
источник
Есть много причин для этой ошибки.
<Button/>
но он все равно объявлен в любом файле Activity или Fragment .java.Лучший способ отследить ошибку - перестроить ее достаточно чисто или синхронизировать, сделав какую-то преднамеренную ошибку.
Если это не решит вашу проблему, то должна быть какая-то ошибка или ошибка во время выполнения, или ошибка произошла из-за неправильного использования ресурсов. Это может быть файл java или xml в вашем коде или дизайне, который заставляет gradle останавливаться, потому что (R ) esource file не может правильно проиндексировать ваши ресурсы, и вы должны это признать.
Если ваш проект выполнялся до того, как вы внесли изменения, закомментируйте внесенные изменения и попробуйте перестроить проект.
Это обязательно сработает, так как не будет никаких изменений.
Чтобы отследить точную ошибку, проверьте изменения, разбив изменения на меньший модуль.
Например - Если вы делаете список видимым с помощью нажатия кнопки и вставляете значения списка в адаптер, сначала проверьте, можете ли вы сделать его видимым или нет, а затем проверьте наличие ошибок адаптера.
источник
Это было большой головной болью для меня. В моем случае ошибка появилась после настройки «Сервисов Google Play» в Android Studio (установка + build.gradle config). Это, в свою очередь, требует minsdk> 7, но ошибка очень неясна (на самом деле жалоба на это появляется только как «информация»). Во всяком случае ... после изменения minsdk на 8 как в файле манифеста, так и в файле build.gradle и перестройке проекта ошибка исчезла.
Итак ... общий совет по этому поводу, если можно обобщить - у вас, вероятно, есть проблема в файле манифеста или в другом файле конфигурации, которая мешает правильной сборке. Попробуйте очень внимательно изучить сообщение об ошибке, даже сообщения с заголовком «информация», чтобы понять, что это может быть ...
источник