it-roy-ru.com

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

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

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

Есть идеи?

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

Правка: Эта проблема касается обновления до 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. Тем не менее, ответ ниже все еще работает.

63
JPM

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

import project

161
marko

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

19
Andrew Glukhoff

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

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

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

Ошибка «Cannot Resolve Symbol» теперь должна быть устранена. Это сработало для меня несколько раз в разных проектах.

Заметка

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

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

File> Invalidate Caches / Restart…

 introducir la descripción de la imagen aquí

9
Elenasys

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

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

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

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

 1st solution

Или же

 2nd solution

2
Khemraj

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

2
Vaclovas Rekašius Jr.

По некоторым причинам, эти атрибуты больше не найдены в 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 (проект)

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

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

1
Emmanuel R

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

1
schv09

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

0
ozge s

Задача № 1

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

File > Project Structure > Project

проверьте свой 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, а затем вуаля!

0
grandia

Подобная ошибка для меня, когда я обновляю до com.Android.tools.build:gradle 3.3.1 и gradle-4.10.1 

Я попробовал следующий метод, но не сработал:

  1. Clean Project - Rebuild Project
  2. Invalidate Caches / Restart
  3. Проверьте .xml ошибку (я не нашел никаких ошибок о xml)
  4. Изменить файл .iml

Я исправил эту ошибку, изменивcom.Android.tools.build:gradle 3.2.1иRestart my mac, я не знал, какой из них можно исправить, но это действительно работает для меня. 

0
Abominus
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 (проект)

и поместите приведенный ниже код в 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'
0
PRIYA

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

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

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

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

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

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

0
Mick