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

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

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

любой идеи?

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

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

13 ответов


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

import project


закрыть и снова открыть проект как существующий проект Android Studio


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

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

  1. откройте модуль приложения построить.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. синхронизация проекта с gradle. У вас будут некоторые ошибки сейчас. Не беспокойся об этом.

  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. снова синхронизируйте свой проект с gradle.

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

Примечание

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

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

File>Invalidate Caches / Restart…

introducir la descripción de la imagen aquí


по какой-то причине, эти атрибуты не нашли в 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-обертка.свойства

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

построить.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
}

и, наконец, строить.gradle (app)

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'
}

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


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

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

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

Подробнее см. скриншот info

1st solution

или

2nd solution


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


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


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'

обновление зависимостей с помощью данной сборки.gradle (project)

и поставить ниже код в build.gradle (модуль:приложение)

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'

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

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

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

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

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

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


пример

setContentView(R.макет.activity_login_ativity);

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

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


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

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

  1. удалено с начальной страницы Android studio.

  2. открыть проект снова.

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