«Не удается разрешить символ R» в Android Studio

715

В каждом случае во всех моих классах, на которые я ссылаюсь R.id.something, Rон выделен красным цветом и говорит: «не удается разрешить символ R». Также каждый раз, когда R.layout.somethingэто происходит, оно подчеркивается красным и говорит: «не удается разрешить метод setContentView (?)». Проект всегда строит нормально. Досадно видеть это все время. Здесь я прочитал много других вопросов о чем-то похожем, но чаще всего связан с импортом проектов из Eclipse. Я использую то, что я считаю самой последней версией Android Studio, и проект был создан с помощью Android Studio и работал без каких-либо проблем «не могу решить R». Я хотел бы знать, что вызывает это, если кто-нибудь знает.

ez4nick
источник
В прошлом я получал ошибки XML, такие как: прогрессбар не может быть приведен к android.widget.textview, и я исправил это, просто изменив имя текстового представления. Я до сих пор не знаю, с чего началась ошибка.
ez4nick
Если вы изменили имя, возможно, вы сейчас пытаетесь использовать строковую ссылку, которой нет в res / strings.xml?
Eyeball
2
Я искал много раз, прежде чем задавать этот вопрос, и нашел много похожих вопросов, включая тот, который вы упомянули. Я прочитал предложение в этом вопросе, и ни в одном из моих java-файлов нет импорта Android.R.
ez4nick
2
Привет всем, я забыл задать этот вопрос, так как он был задан так давно. Я должен был принять мой собственный ответ год назад, который теперь является комментарием над этим. Проблема была в том, что андроид-студия находилась на такой ранней стадии, и как новый разработчик я никогда не должен был ее использовать. Будьте уверены, все работает нормально и было. Если это возможно, пожалуйста, восстановите мой первоначальный ответ, чтобы я мог принять его.
ez4nick
3
Если вы не нашли ошибку, это не ваша ошибка, вызванная ошибкой сборки. Исправьте другие ошибки, и все будет в порядке.
Just_someone

Ответы:

721

У меня была эта проблема тоже. Простой 'gradlew clean' и 'gradlew build' сделали свое дело.


Нажмите на Build-> Clean Project, и он выполнит чистку gradle

Випассана Виджаяранган
источник
56
Иногда вам также необходимо перезапустить Android Studio. или по крайней мере для меня.
Пользователь Foo Bar
24
Для тех, кто смущается по поводу использования командной строки, нажмите Build-> Clean Project, и это выполнит 'gradlew clean'. ;)
Мистер Конколато
22
Не повезло ... Восстановление очистки не работает для меня
CandleCoder
7
если очистить, перестроить, сделать недействительным caches-restart не решит, перейдите к: import package.R;
Судип Бхандари
2
Для меня это было причиной проблемы: Несоответствие между ApplicationId в gradle и именем пакета в манифесте (и хотя при автоматическом импорте добавлен неправильный адрес для файла R). Я рекомендую эту небольшую статью, чтобы прояснить разницу между ними. blog.stylingandroid.com/package-name-vs-application-id
Тина
227

В последних версиях Android Studio, по крайней мере для меня, работает следующее:

«Инструменты» -> «Android» -> «Синхронизировать проект с файлами Gradle»

В последней версии Android Studio 3.1.3 (июль 2018 года) «Синхронизация проекта с файлами Gradle» доступна в строке главного меню.

введите описание изображения здесь

Том С.
источник
Какую версию Android Studio вы использовали в то время?
Джоэл Хэндвелл
У меня не работает (Android Studio 0.8.14). Но, Build> Clean проект работает хорошо.
Phat H. VU
Все еще работает в Android 1.2.1. Не забудьте сделать это более одного раза, если это не сработает в первый раз.
Нуб
Это единственное, что сработало для меня. Я попробовал все другие решения в первую очередь.
Mac
1
В Android Studio 3.1.1 этот параметр находится в меню «Файл» -> «Синхронизировать проект с файлами Gradle»
Хришикеш Кадам,
155

Я использовал Gradle 3.3.0. Это был главный виновник. Потрачено впустую 6,50 часов из моей жизни. Gradle 3.2.1 устранил ошибку.

classpath 'com.android.tools.build:gradle:3.2.1'

Проблема решена после изменения версии Gradle. Подробности истории можно найти здесь .

Тушар Монирул
источник
9
Еще один удивительный подвиг разработчиков Android-студии. Возвращаясь обратно к 3.2.1фактически единственным решением , которое работает для меня ...
Vučko
1
Удивительно все еще проблема 2 месяца спустя. Последняя версия (3.3.2) не исправила это, 3.2.1 сделала.
JakeSteam
Вместо того, чтобы вернуться в режим ожидания, 3.2.1вы также можете обновить Android Studio до версии 3.3. Смотрите мой ответ здесь
arne.z
это работало, меняя 3.3.0 на 3.2.1, но мой вопрос, что он работал нормально на 3.3.0, у меня был только рефакторинг и обновленный XML-файл манифеста и файл Gradle, и я синхронизировал Gradle.
Могу ли
25 часов интернета и похоже, что это единственное рабочее решение. Спасибо андроид студии: (....
Нахабве Эдвин
108

У меня похожая проблема, и вот что я сделал:

Очистить проект и синхронизировать проект с Gradle,

введите описание изображения здесь

проверьте версию buildTools в моем sdk введите описание изображения здесь

Из сборки gradle (модуля) изменить minSdkVersion с 8 на 9

defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

Но все это не помогло.

Наконец я нашел ответ (это сработало в моем случае)

Переход от build.gradle (модуль: приложение)

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

Или

Выбрать файл | Изменение структуры проекта Версия инструментов сборки на 21.1.1

введите описание изображения здесь

Мина Фаузи
источник
Это тоже сработало для меня, меняя сборки и настраивая файлы Gradle (модуля)
Самуэль Болоньини
Спасибо, как мудрый, это было решение.
App Dev Guy
58
  1. Проверьте ваши XML-файлы.
  2. Чистый Проект.

Это оно.

Например, у меня была запись в моем strings.xml:

<string name="A">Some text</string>

И activity_main.xmlя использовал эту строковую запись

<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>

Пока я работал с проектом, я удалил

 <string name="A">Some text</string>

И следовательно activity_main.xml стал недействительным. Как результат: не может разрешить Р.

Итак, проверьте ваши *.xmlфайлы и очистите проект.

Юрий
источник
Это действительно спасло мою жизнь [PLUS ONE]
GingerHead
Отсутствие изображения в одном из моих XML-файлов вызвало у меня эту проблему. Поместите изображение в папку, почистил и R теперь снова счастлив.
Кейси Мюррей
Я случайно дважды определил мою строку в strings.xml. Студия не показала этого вообще. X- (Спасибо за ваш ответ.
codingjeremy
Это для чтения другими разработчиками. Один этот подход должен решить проблему так же, как и для меня.
Парамвир Сингх Карвал
6
Почему нет обратной связи, чтобы подчеркнуть плохие файлы XML в IDE?
Фурманатор
53

Если вы видите эту ошибку после перемещения файлов или каталогов Java в другие места, вы можете гарантировать, что Android Studio запуталась. И угадайте, что? отмена этих действий не решает проблему.

Таким образом, вы пытаетесь чистить, но это не работает.

И перезапуск тоже не работает.

Но попробуйте File -> Invalidate Caches / Restart ... -> Invalidate and Restart

Android Studio хранит информацию о том, какие файлы зависят от каких других файлов. А поскольку перемещение файлов не реализовано правильно, перемещение файлов вызывает ошибки. И это еще не все: кэши этих зависимостей используются для ускорения сборки.

Это означает, что вам нужно не только перезапустить, но и аннулировать эти кэши, чтобы восстановить (или, точнее, восстановить) здравомыслие.

Скотт Биггс
источник
Не помогло. Пробовал чистку / восстановление тоже. Произошла ошибка после того, как я переместил пакет Java в другой пакет. Интересно, что в одном пакете R класс доступен, но он недоступен в пакете, который я переместил.
ринт
В более поздних версиях Android Studio Invalidate и Restart теперь являются выбором меню по умолчанию. Это должно помочь хотя бы нескольким людям. (Жаль, что они не исправляют все сумасшедшие ошибки, которые вызывают эту ошибку, во-первых!)
Скотт Биггс
1
Я получил эту ошибку после перемещения и переименования проекта. Это решило проблему R после того, как все очистка и перезапуск не сделали. Спасибо.
FrankKrumnow
2
Это занимает примерно столько же времени, сколько и для получения чашки кофе, что, в свою очередь, может быть использовано для принятия хорошего кофейного душа, если он все еще помечает
букву
1
нашел GIF мой предыдущий комментарий -> tenor.com/view/...
ZooMagic
30

Я думаю, если вы поместите ваши файлы деятельности в другую папку, чем по умолчанию. Вам нужно импортировать com.example.yourproject.R(это Rфайл вашего проекта, а НЕ Android.Rфайл) во все виды деятельности, используя R. Например, в MainActivityфайле вставьте эту строку:

import com.example.yourproject.R;
ninjahoahong
источник
1
Ах, и все еще будет сообщение об ошибке перед первой сборкой. Однако вы просто нажимаете build, Android Studio сгенерирует R-файл, и сборка будет успешной.
ниндзяхоахонг
и я думаю, что лучше после исправления очистить проект, а затем собрать. или нажмите Shift + F9 для отладки на вашем устройстве или эмуляторе. Я предпочитаю отлаживать на реальном устройстве.
ninjahoahong
Это лучшее решение. Спасибо, чувак
Арундев
Этот ответ был волшебной палочкой. спасибо
leeCoder
28

Кажется, есть много причин для этой проблемы. Недавно я добавил тестовое действие с названием NewActivity. Это создало файл с именем, res/menu/new.xmlи gradle не понравилось это имя, потому что new является зарезервированным словом.

gradlew clean

или

"Tools" -> "Android" -> "Sync Project with Gradle Files"

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

chawkinsuf
источник
спасибо работало для меня тоже. Небольшой вопрос - где я должен набрать gradlew clean, если я хочу сделать это таким образом (я сделал «Инструменты» -> «Android» -> «Синхронизировать проект с файлами Gradle»)?
Сергей
Откройте командный терминал, переключитесь в каталог проекта и выполните «./gradlew clean»
chawkinsuf
Это то, что было для меня. Спасибо!
TinyGrasshopper
Как это решает проблему лучше, чем «Перестройка проекта»?
Игорь Ганапольский
Да, в моем случае я добавил png-файл, который называется import.png. Мне пришлось переименовать его, в моем случае "import_icon.png", а затем проект скомпилирован нормально.
mihai71
17

Файл R.java содержит ссылку между XML и страницей Java. «R не может быть решена» возникает только в том случае, если есть проблема с некоторыми из ваших файлов ресурсов. Таким образом, лучший и эффективный способ - удалить последний созданный файл XML или файл в формате res. и затем снова начать оттуда в соответствии с нормами кодирования Android. Это единственный способ. Эффективный и правильный путь.

Также используйте Git для правильного отслеживания кода. ..

Минто
источник
В моем случае были проблемы не только в XML, но и в PNG (в Drawable).
CoolMind
15

Ваш код только что зашифрован. Ответ довольно прост.

Просто зайдите в Build -> Clean Project .

Это должно делать свое дело.

Проверьте также свою версию Android Studio.

В настоящее время я использую Android Studio 3.0.1 .

lloydyu24
источник
14

Вы недавно обновили свои инструменты SDK? Запустите android SDK manager и убедитесь, что у вас установлены новейшие инструменты SDK, которые теперь отделены от инструментов платформы. У меня была такая же проблема, когда я впервые обновил свой менеджер SDK, пакет инструментов сборки SDK не появлялся для установки / обновления, пока я не закрыл и не открыл заново менеджер SDK.

invertigo
источник
я верю, что там все актуально. может ли это вызвать такую ​​проблему?
ez4nick
если у вас не установлены новые инструменты сборки SDK , да.
инвертиго
12

Просто очистите ваш проект и синхронизируйте проект с Gradle File.введите описание изображения здесь

И проблема будет решена.

Arunendra
источник
Следует отметить, что щелчок правой кнопкой мыши по «приложению» и нажатие кнопки синхронизации в меню этого не позволяет. Спасибо.
Mafro34
11

У меня было это с

  1. Заглавная буква в моих ресурсах.
  2. Импорт Android.R, добавляемый Android Studio (или Eclipse)
  3. Ошибка в XML-файле
Райан Хайтнер
источник
У меня была проблема, потому что была ошибка в одном из моих файлов XML. Решил проблему, затем сделалBuild->Clean Project
AjayCodes
11

У меня недавно была эта проблема, и очистка / сборка и т. Д. Не решили ее. Я догадывался, что где-то возникла проблема, но не был уверен, где ее можно найти (было ли это в манифесте, файлах ресурсов XML и т. Д.?).

Когда что-то не так, вы можете узнать, что это такое, выполнив анализ кода.

Из меню вверху выберите:

Анализ -> Проверка кода, сканирование всего проекта с использованием профиля «По умолчанию».

Ваши результаты проверки будут содержать элемент под названием «Android». Здесь вы получите список всего, что вызывает проблемы в ваших ресурсах и файле манифеста. Ошибки откроют сгенерированные XML-файлы из вашей сборки, которые будут отображать все ошибки красным цветом.

Моя точная проблема была вызвана тем, что я использовал файлы манифеста <application>на основе аромата и случайно скопировал некоторые разрешения внутри тега в аромате.

осмотр

ОБНОВЛЕНИЕ: у меня действительно была проблема после того, как Android Studio все еще показывал ошибку после исправления, хотя я мог теперь собирать и работать отлично, пока ошибка все еще была. (Я управляю сборкой канарейки, так что пока что опускаю ее до этого)

Мэтью Коули
источник
Интересно, что у меня была эта проблема только в одном файле, и я запустил процесс «Проверка кода», и он сам себя очистил (очистить и восстановить не удалось). Должно быть, что-то застряло в Линте, и только это могло бы проясниться. Спасибо!
rundavidrun
Спасибо тебе за это! Несмотря на то, что было обнаружено много общих ошибок, что и ожидалось, фрагментом, разрушившим весь замок, была небольшая синтаксическая ошибка в XML-файле, созданном Asset Studio! Как только я решил это, Чистый Проект позволил мне двигаться вперед.
Бинк
10

Мне пришлось импортировать мой Rпакет в Android Studio. Например:import com.example.<package name>.R

Первый мудрец
источник
1
Я был здесь, прежде чем я думаю.
Еще
1
Это сработало для меня. Большое спасибо.
Aquarius_Girl
Это случилось со мной после того, как я реорганизовал название своего пакета, но каким-то образом студия Android покинула его import com.example.old-package-name.R, поэтому мне пришлось переименовать импорт.
auspicious99
9

Это очень старый вопрос, но он все еще часто случается, и здесь нет исчерпывающего ответа.

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

Импорт из Eclipse в Android Studio не всегда работает гладко, особенно в старых версиях Android Studio. Убедитесь, что вы используете правильное дерево каталогов. Это должно выглядеть так для умеренно зрелого приложения:

AppName/        // AppName is your app's name, obviously
    .gradle/    // This is a compiler created directory. You should normally leave it alone
    .idea/      // Ditto
    build/      // This too
    gradle/     // And this
    app/
        build/
        libs/
        src/
            androidTest/   // Tests based on the Android instrumentation runner should go here
            main/
                java/
                    fully/           // Typically com
                        qualified/   // the domain name. Longer package 
                                     // names may have deeper folder trees
                            AppName/ // All your java files go here
                res/
                    drawable-*/      // One of these for each resolution you support
                    layout/          // All of your general layouts
                    menu/            // All of your menu layouts
                    values/          // All of your resource xml files
                    xml/             // PreferenceScreen layouts go here
                AndroidManifest.xml
            debug/         
            test/          // Pure jUnit tests should go here
        .gitignore
        app.iml
        build.gradle   // This is the gradle file you should be making most changes to
        proguard-rules.pro
    .gitignore
    build.gradle       // This gradle file should mostly be left alone
    gradle.properties
    gradlew
    local.properties
    AppName.iml
    settings.gradle

Это может выглядеть не так в вашей 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.

TBridges42
источник
9

Просто зайдите в список верхнего меню Android. нажмите на меню Build , в под Build нажмите на перестроить проект.

введите описание изображения здесь

Гунду Бандгар
источник
9

Я столкнулся с этой проблемой, когда вручную переименовал папку домена моего приложения. Чтобы решить эту проблему, мне пришлось

  1. Установите правильную packageструктуру папок <manifest>в AndroidManifest.xml.
  2. Установите новое местоположение пакета для android:nameиз <activity>в AndroidManifest.xml.
  3. Очистить кеш

Меню Файл -> Недействительные кеши / перезагрузка ...

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

Шридхар
источник
9

У меня была та же проблема: Android Studio 3.2 Проект компилируется и работает нормально, но я получаю предупреждения "Не удается разрешить символ" R "на экране

Имеет ли не помощь:

  • Строй-> Чистый проект
  • Build-> Rebuild Project
  • File-> Invalidate Caches / Restart

Помогает:

или

в build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

заменить

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

или

Обновите Android Studio до 3.3

Алекс Буров
источник
Вы спасли мою жизнь ! Обновление Android Studio до 3.4 решило проблему для меня
Artory
8

У меня есть особый случай для этой проблемы.

В моем проекте все идет хорошо, его можно скомпилировать и собрать успешно, но в моей Android Studio IDE (и я тоже пробовал Intelligent IDEA, они в одинаковой ситуации) файл R.java не может быть хорошо решен и всегда будет падение в красной линии.

Именно так: введите описание изображения здесь

Это почти сводило меня с ума, я не могу вынести цвет чтения, когда я программирую.

Наконец я обнаружил, что эта хитрая проблема вызвана размером файла моей R.java. Мой проект очень большой, он поддерживает множество языков и размеры экрана. Есть так много ресурсов, что размер файла моей R.java составляет около 2,5 МБ .

Максимальный размер файла в Android Studio составляет 2,5 М в настройках по умолчанию, поэтому файлы, размер которых превышает это ограничение, не могут быть разрешены должным образом. И вы можете изменить настройки по умолчанию в "AndroidStudio-root / bin / idea.properties".

изменить эту строку:

idea.max.intellisense.filesize=2500

к:

idea.max.intellisense.filesize=5000

Затем перезапустите Android Studio, красный цвет исчез, я снова могу программировать.

Фидо Чжан
источник
В Android 3.2 просто помогите / Редактируйте пользовательские свойства
Beto
Хороший совет, но он не решил мой не может разрешить символ R
Алитон Оливейра
7

Построить> Чистый проект

Это сработало для меня. Была одна и та же проблема несколько раз, и это, кажется, исправило ее. Если вы не изменили что-то или не назвали переменную R. Эта проблема обычно возникает из ниоткуда, когда это происходит со мной, поэтому я представляю, что просто Android-студии волнуются. ха-ха

Желаем удачи и удачи в ваших проектах.

S.Pedro
источник
Спасибо. У меня это тоже сработало. Я заменил некоторые изображения в drawable и получил эту ошибку.
KCP
7

Do: Build> Чистый проект

ВАЖНО: убедитесь, что у вас нет ошибок после очистки проекта в панели сообщений (Alt + 0). Если вы обнаружите какие-либо красные кружки с восклицательным знаком, вы должны удалить эти ошибки в своем коде.

В основном эти ошибки связаны с @ string / или @ array /. Чистый проект снова и готово!

Хасан Накви
источник
7

У меня была такая же проблема, и это происходит, когда я создаю новый проект.

Что я делаю это:

  • проверить наличие обновлений SDK
  • затем обновления студии Android,
  • затем снова откройте проект
  • откройте файл andoridmanifest.xml
  • Сотрите пробел между "_>" в android: label и сохраните.

Это подходит для меня.

Elsanty
источник
7

Мне было трудно исправить это самостоятельно.

  • Убедитесь, что в файлах layout.xml нет ошибок.
  • Перейти в Build> Чистый проект

Это сработало для меня, надеюсь, это сработает и для вас.

Усама Эссамади
источник
6

У меня была такая же проблема, и в большинстве случаев она решается

  • Синхронизировать проект с файлами Gradle
  • дела Build -> Чистый проект
  • Doing File -> Invalidate Cache

Но на этот раз ошибка не исчезла даже после выполнения всех этих действий, и, наконец, я нашел виновника.

Проблема была в файле XML , где я дал обычное строковое значение android:idвместо типа ресурса id .

ОШИБКИ

android:id="username"

КОРРЕКЦИЯ

android:id="@id/username"

Неприятности, связанные с resourcesфайлами XML, являются основной причиной этой ошибки. Остерегайтесь того факта, что она может не отображаться как ошибка в файле макета XML.

НОТА

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

Шива Пракаш
источник
6

`У меня была та же проблема, и она была решена с помощью:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.`
Bapusaheb Shinde
источник
Это хороший ответ, хотя мне нужно было только поместить '//' в файл Gradle и выбрать resync. Затем все AS распознали импорт и позволили мне запустить приложение.
Val
5

Эта запись, кажется, работает нормально.

android:id="@+id/viewID"

Панель дизайна Android Studio, кажется, не работает хорошо.

Тевин Дж
источник
5

Та же проблема. Начал, когда я добавил несколько изображений в свою папку для рисования и попытался получить к ним доступ. Также добавленные изображения имели расширение с заглавными буквами. Это, похоже, привело к сбою сборки, так как даже если я переименовал их, сообщение было таким же, и R был недоступен. То, что я сделал, в файле .iml я искал excludeFolder и удалил их (как показано ниже):

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

После этого я перестроил проект, и R волшебным образом появился снова.

user1137313
источник
5

Есть много причин для этой ошибки.

  1. Иногда это происходит для замены файла изображения с тем же именем.
  2. Предположим, что вы удалили элемент из макета .xml, скажем, a, <Button/>но он все равно объявлен в любом файле Activity или Fragment .java.
  3. Многое другое.

Лучший способ отследить ошибку - перестроить ее достаточно чисто или синхронизировать, сделав какую-то преднамеренную ошибку.

Если это не решит вашу проблему, то должна быть какая-то ошибка или ошибка во время выполнения, или ошибка произошла из-за неправильного использования ресурсов. Это может быть файл java или xml в вашем коде или дизайне, который заставляет gradle останавливаться, потому что (R ) esource file не может правильно проиндексировать ваши ресурсы, и вы должны это признать.

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

Это обязательно сработает, так как не будет никаких изменений.

Чтобы отследить точную ошибку, проверьте изменения, разбив изменения на меньший модуль.

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

Сурав Рой
источник
4

Это было большой головной болью для меня. В моем случае ошибка появилась после настройки «Сервисов Google Play» в Android Studio (установка + build.gradle config). Это, в свою очередь, требует minsdk> 7, но ошибка очень неясна (на самом деле жалоба на это появляется только как «информация»). Во всяком случае ... после изменения minsdk на 8 как в файле манифеста, так и в файле build.gradle и перестройке проекта ошибка исчезла.

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

айя гели
источник