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 ответов
библиотека поддержки не синхронизирована.
эта ошибка происходит потому, что библиотека поддержки выходит из синхронизации с вашим проектом. Чтобы получить его обратно в синхронизации вы можете сделать следующие шаги:
- откройте модуль приложения построить.Gradle в
-
комментарий
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
синхронизация проекта с gradle. У вас будут некоторые ошибки сейчас. Не беспокойся об этом.
-
раскомментировать
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
снова синхронизируйте свой проект с gradle.
ошибка "не может разрешить символ"должна исчезнуть. Это несколько раз помогало мне в разных проектах.
Примечание
- если ваш проект имеет несколько модулей, то вы должны следовать направления выше для всех модулей сразу.
после обновления Android Studio вы можете аннулировать кэш и перезапустить.
File
>Invalidate Caches / Restart…
по какой-то причине, эти атрибуты не нашли в 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'
}
просто импорт проекта снова не сработал для меня.
мое решение было
- удалить
.idea
папка внутри вашего проекта. - затем закройте проект
File> Close Project
- затем импортировать проект по
File> New > Import Project
или С экрана приветствияImport Project (Gradle, Eclipse ADT, etc.)
.
Подробнее см. скриншот info
или
вы можете попробовать, чтобы закрыть проект и выход 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);
- поместите курсор в R
- Нажмите Alt + Enter
- выберите класс импорта R
Работа для меня :)
я обновил Android studio до версии 3.2, и два шага решили эту проблему.
удалено с начальной страницы Android studio.
открыть проект снова.
работал для меня.