Android Studio 3.1 не может разрешить символ (темы, виджет, attr и т.д.)

Сегодня я обновил Android Studio до 3.1, и теперь Android Studio заявляет, что не может разрешать символы для большинства ресурсов (например, ThemeOverlay в styles.xml или ?attr/actionBarSize). Кажется, это мешает мне создавать или работать в эмуляторе до сих пор, но эти ошибки заставляют меня нервничать.

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

Есть идеи?

Я использую Android Studio 3.1 с Gradle версии 4.4 и Gradle Plugin 3.1.0

EDIT: эта проблема влияет на обновление до Android Studio 3.1.1, 3.1.2, 3.1.3, 3.1.4, а также Gradle Plugin до 3.1.1, 3.1.2, 3.1.3 и 3.1.4. Однако ответ ниже все еще работает.

Ответ 1

Закройте проект и снова импортируйте его. Работал для меня сегодня.

import project

Ответ 2

Закройте и снова запустите проект в качестве существующего проекта Android Studio

Ответ 3

Библиотека поддержки не синхронизирована.

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

  1. Откройте файл build.gradle для модуля приложения.
  2. Прокомментируйте строки implementation для библиотеки поддержки. Для меня это выглядит так:

    //implementation 'com.android.support:appcompat-v7:27.1.1'
    //implementation 'com.android.support:recyclerview-v7:27.1.1'
    //implementation 'com.android.support.constraint:constraint-la
    
  3. Синхронизируйте свой проект с помощью градиента. Теперь у вас будут некоторые ошибки. Не беспокойтесь об этом.

  4. Раскомментируйте строки implementation которые вы ранее прокомментировали.

    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-la
    
  5. Синхронизируйте свой проект с градием снова.

Ошибка "Невозможно устранить символ" должна исчезнуть. Это несколько раз работало для меня в разных проектах.

Заметка

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

Ответ 4

После обновления Android Studio вы можете аннулировать кеш и перезапустить.

File > Invalidate Caches/Restart…

introducir la descripción de la imagen aquí

Ответ 5

По некоторым причинам эти атрибуты больше не найдены в 26 библиотеках. Для увеличения этих библиотек вы также должны увеличить ваш compileSdk до 27. Вероятно, вам также придется загрузить sdk 27 ​​

Краткая версия, далее идет приложение `graddle``

android {
    compileSdkVersion 27
    //...
}

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    //...
}

Длинная версия, проверьте все следующие файлы:

gradle -wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

build.gradle(Project)

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

И, наконец, build.gradle(приложение)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "cl.cutiko.testingupdate"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:design:27.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

Ответ 6

Закрытие проекта, а затем открытие как существующего делает чудеса!

Ответ 7

Просто импорт проекта снова не работал для меня.

Мое решение было

  1. Удалите папку .idea внутри вашего проекта.
  2. Затем закройте проект File> Close Project
  3. Затем импортируйте проект с помощью File> New > Import Project или из " Import Project (Gradle, Eclipse ADT, etc.) экрана Import Project (Gradle, Eclipse ADT, etc.). Import Project (Gradle, Eclipse ADT, etc.).

Смотрите скриншот для получения дополнительной информации

1st solution

Или же

2nd solution

Ответ 8

Вы можете попытаться закрыть проект и выйти из Android Studio (только закрытие и повторное перемещение этого не сделали для меня). Запустите Android Studio и снова откройте проект. Это сработало для меня!

Ответ 9

Я закрыл и повторно открыл проект как существующий проект Android Studio (не импортировал его), и он сработает! Спасибо Андрею Глухофу.

Ответ 10

Android-плагин для Gradle com.android.tools.build: gradle: 3.0.1/Gradle 4.1 решил эту проблему. Эта проблема вызвана Gradle 4.4. Он работает на Android Studio 3.1/3.1.2. Повторно открыть существующий проект/проект повторного импорта не требуется.

ОБНОВЛЕНИЕ: Android Studio 3.2 Canary 12 не имеет этой проблемы.

Ответ 11

implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:26.1.0'

обновите свои зависимости с помощью вышеизложенного в файле build.gradle(project)

и поместите приведенный ниже код в build.gradle(Module: app)

classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'io.realm:realm-gradle-plugin:3.7.1'
classpath 'com.google.gms:google-services:3.1.0'

Ответ 12

Для меня такой же симптом/ошибка была вызвана перетаскиванием нового изображения в папку "drawable-xxhdpi" с именем Android Studio не понравилось - например, с номером или капиталом в имени.

Никакое полезное сообщение об ошибке не было дано как раз "сообщение не может разрешить символ R".

Даже после синхронизации приложения и проекта по очистке и восстановлению проблема осталась, что "R" не был распознан без какой-либо другой указанной ошибки.

Закрытие и импорт проекта, как было предложено в других ответах, не сработало, что имеет смысл с учетом коренной проблемы.

Однако, несмотря на то, что, похоже, это не сработало для других в прошлом, судя по другим вопросам и ответам на SO, удаление нового изображения из папки с возможностью переноса действительно сработало.

Точно так же и лучшее решение, очевидно, переименование изображения для удаления любых символов, которые Android не нравится в именах ресурсов, а затем выполнение чистого и/или перепроектированного проекта также сработало.

Ответ 13

Проблема № 1

Моя проблема была связана с тем, как я использовал альфа/бета версию Android Plugin

File > Project Structure > Project

проверьте Android Plugin Version своего Android Plugin Version

Я использовал то, что называется 3.3.0-beta, и все же в другом проекте 3.1.0-alpha

изменение его на 3.2.0 кажется, решило мою проблему, не забудьте также поменять его в build.gradle(Project)

Проблема № 2

У меня была ошибка в одном из моих .xml файлов. Я пропустил ресурс @string. Пожалуйста, проверьте все свои xml файлы и убедитесь, что они все правильные (открытие xml файла должно активировать линтинг в Android Studio, прокручивать файл, если в нем что-то не так, должно появиться сообщение красного цвета)

Проблема № 3

В build.gradle я импортировал разные версии библиотек поддержки Android. например

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:27.1.0'

Пожалуйста, убедитесь, что они имеют одинаковую версию. И убедитесь, что Android Studio не жалуется на ваши зависимости от gradle. Возможно, некоторые из ваших зависимостей также импортировали разные версии библиотек поддержки Android.

Шаги, которые нужно предпринять после № 1, № 2 и № 3

Очистите свой проект Build > Clean Project

Недействительный кеш и перезапуск File > Invalidate Caches/Restart

После перезапуска дождитесь окончания сборки gradle, а затем вуаля!

Ответ 14

Я обновил свою версию Gradle до 4.10.1 и сделал "исправить и заново импортировать". В папке .idea не было папки с библиотеками. И тогда это сработало

Ответ 15

Как я это решил:
how to solved

Я обновил студию Android до версии 3.2, и два шага решили эту проблему.

  1. Удален с приветственной страницы студии Android.

  2. Откройте проект снова.

Работал для меня.

Ответ 16

пример

setContentView (R.layout.activity_login_ativity);

  1. Поместите курсор в R
  2. Нажмите Alt + Enter
  3. Выберите класс импорта R

Работа для меня :)