Не удается разрешить символ «Тема» в файле styles.xml (Android Studio)


175

Скриншот

С сегодняшнего дня Android Studio не может найти темы AppCompat в styles.xml, но, например, AppCompatActivity в коде распознается. Моя версия Android Studio 2.2.2, сборка # AI-145.3360264

Я уже пробовал обновиться до последних инструментов сборки, собрать версию SDK (25) и т. Д., Но это не решило проблему.

На данный момент я установил следующее (из sdk manager):

  • Android API: 19 и 23
  • Инструменты платформы SDK: 25.0.1
  • SDK инструменты: 25.2.3
  • Инструменты сборки: 23.0.2 и 25.0.1
  • поддержка хранилища: 40
  • Google репозиторий: 39

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

build.gradle приложения:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '25.0.1'
    defaultConfig {
        applicationId "xxx.xxxxxxxx.xxxxxxxxx" //not the real applicationId
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {

        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/RootTools.jar')
    compile 'com.android.support:support-v4:23.+'
    compile 'com.android.support:support-v13:23.+'
    compile 'com.android.support:appcompat-v7:23.+'
    compile 'com.android.support:design:23.+'
    compile 'com.android.support:cardview-v7:23.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
    compile 'de.hdodenhof:circleimageview:2.1.0'
}

4
Проект компилируется или только IDE жалуется? Недействительные кэши / перезапуск.
Евгений Печанец

1
Недействительные кэши / перезапуск ничего не изменили, только IDE жалуется на это и компиляция работает нормально. Извините, что, возможно, потратил ваше время на это, я был обеспокоен только тем, чтобы
устранить

1
У меня та же ошибка, но компилируется нормально
Pablo Cegarra

10
stackoverflow.com/a/48734990/8311441 Когда любое другое решение не удалось Это помогло мне
Tabish

1
Только что сталкивался с этой проблемой (в Android studio 3.1.3). Удаление appcompat-v7и синхронизация перед добавлением снова помогли. Давайте поднимем настроение и будем надеяться на обновления здесь. Issetracker.google.com/issues/67790757
sunadorer

Ответы:


216

Другое решение, которое работало для меня с Android Studio 3.1.2:

удалите их, build.gradleесли они у вас есть:

'com.android.support:appcompat-v7:27.1.1' 'com.android.support:design:27.1.1'

затем синхронизируйте, затем отмените удаление, затем синхронизируйте снова.


22
Работал, очень странно: D
mes

3
блестящий. Я попробовал 5 или 6 других ответов, но это то, что, наконец, сработало. Спасибо!
Альберт С Браун

2
Если это было ваше решение, как и мое, вы можете просто почистить и восстановить его после однократного выполнения, и оно исправит это снова.

5
Это было глупо, ха-ха, но это сработало. Должен любить багги КАК. Спасибо за чаевые.
Сэм

4
Это работает, просто комментируйте и отменяйте комментарий на gradledependencies{
Накамото

105

Я столкнулся с этим после обновления до Android Studio 3.1.

Ни один из других ответов, перечисленных здесь, не работал для меня, однако, когда я переключил свою версию lib поддержки поддержки appcompat на самую последнюю, а 28.0.0-alpha1затем вернулась к 27.1.0той, что была раньше, это сработало.

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


Спасибо за это. Как и вы, ни один из других ответов не работал для меня после обновления до AS 3.1, но это помогло. Вы просто должны быть уверены, что синхронизировать после каждого изменения.
Тед Хопп

7
Я был на 26.0.1, а обновление до 27.1.1 (и версия компиляции с 26 до 27) заставило все ошибки исчезнуть (буквально больше ничего не будет)
Даниэль Уилсон

4
Возвращение к 26.0.1, а затем к 27.1.1 также работает
adek111

8
Не очень хорошо, что это решение, которое наиболее надежно работает в моем опыте. AS не должен требовать подобных хакерских решений.
jwehrle

1
Это решение сработало. Я просто разочарован тем, что глупое решение проблем IDE + Gradle отнимает много времени.
Рохан,

91

Не нужно ничего менять.

Просто нажмите маленькую кнопку сверху "Синхронизировать проект с файлами Gradle"


8
Android Studio 3.1 и имеет ту же проблему.
live-love

15
^ Мне пришлось переключить версию lib моей поддержки appcompat на последнюю, а 28.0.0-alpha1затем до того, 27.1.0как она работала на AS 3.1 - кажется, новая версия AS потеряла соединение с тем местом, куда была синхронизирована библиотека, и просто нужно было ее сбросить
kassim

9
Android Studio 3.1.1 и с той же проблемой
Coeus

3
Не
решает

7
Мой исправляется только при закрытии проекта, удалении его из списка последних проектов (запомните путь к проекту) и последующем открытии проекта. Может быть, это заставляет кеш перестраивать ...
SammyT

86

РЕДАКТИРОВАТЬ: Как @Alexey отметил, ошибка все еще появляется в Android Studio v3.1.4

Это сработало для меня:

  • Нажмите Файл> Закрыть проект
  • Снова откройте проект из диалога Studio.

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


3
Обратите внимание, что это также сбросит ваши настройки окна - размеры различных панелей, какие вкладки отображаются при запуске и т. Д. Это также изменит вариант сборки, на котором вы находитесь, для отладки. Это эффективно уничтожит все настройки и настройки редактора для проекта.
InsanityOnABun

Это сработало! Но также любопытно узнать, почему это произошло в первую очередь. Я изменил несколько цветов в моем colors.xml. Не удалось понять, как это связано или может быть ошибка AS 3.1.2?
Рохит Шарма

Ошибка AndroidStudio. Как отметил @InsanityOnABun , закрытие и открытие проекта таким образом сбрасывает многие вещи. При этом проблема, связанная с ошибкой, исчезает.
Ευάγγελος Μπίλης

1
@ ΕυάγγελοςΜπίλης только что столкнулся с этой ошибкой в ​​Android Studio 3.1.3 и решил ее по-своему; Вы можете обновить свой ответ, чтобы все знали, что он работает и для AS 3.1.3.
Атиф Фаррух

Ни один из других ответов не сработал, но это сработало! Замечательно .. Работает на AS 3.1.3 отлично. Странно стало получать эту ошибку только после изменения чего-либо в стилях, хотя я откатил ее назад.
sanjeev

37

Это из-за функции под названием «сборка кеша», которая включена по умолчанию в сборке Android Plugin начиная с 2.3.0. Он создает файлы в кэше сборки вне папки проекта (в моем случае - в папке \ Users \% username% \. Android \ build-cache) Эти файлы предназначены для общих между вашими проектами.

И тогда Android Studio не может перемещаться по этим файлам. Вот и все.

Если вы хотите отключить Build Cache, добавьте android.enableBuildCache=falseв gradle.propertiesфайл. Затем перезапустите Android Studio.

больше информации здесь: https://developer.android.com/studio/build/build-cache.html#disable_build_cache


2
Действительно, пожалуйста, обновите свой ответ и скажите другим, что они должны перезагрузить Android Studio после изменения gradle.propertiesфайла
Игорь Тюльканов


это не решение, нам нужно оставить кеш сборки включенным И не видеть эту ошибку.
MDP

@mdp Решение состоит в том, чтобы исправить ошибку в Android Studio. Это обходной путь.
Бабай

27

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

шаги:

  1. Перейти в папку вашего проекта в файловой системе
  2. Перейти к .idea\libraries
  3. Удалить все Gradle__com_android_support_****.xmlфайлы
  4. Откройте Android Studio
  5. Выбрать File > Sync with File System
  6. Как только это будет сделано, выберите File > Sync Project with Gradle Files
  7. Build Project

И теперь ваша ошибка должна исчезнуть !!!


Только так работали 28 инструментов сборки версии. :)
Фаря

Работает как шарм! Спасибо!
Hexise

@ Tricky Bay У вас есть решение этой проблемы? Спасибо! stackoverflow.com/questions/53323910/…
Эрик

19

вы можете нажать файл -> сделать недействительными Caches / Restart ... если это не решит проблему, вы можете закрыть проект (file-> close project) и импортировать его (file -> new -> import project).


В моем случае Invalidate Caches / Restart ...сработало. Кажется, причина этой ошибки различна.
wonsuc

1
Это сработало для меня. закрыть проект + удалить проект (с крестиком справа вверху) + импортировать существующий проект Android Studio 3.1.3 com.android.tools.build:gradle:3.1.3
январь

Я работал в 2018 году! андроид студия 3.1.3 gradle 3.1.3
PanCrucian

12

Я переключил поддержку lib на версию 27.1.1 и проблема была решена. Похоже, какая-то ошибка в 27.1.0


2
Я согласен, не используйте 27.1.0, если у вас есть просмотрщик. Мое приложение получало 20 сбоев в день. issetracker.google.com/issues/74130311 Исправлено в 27.1.1, и мое приложение загружается быстрее из-за того, что setUserVisibleHint сначала загружает видимый фрагмент.
SammyT

6
@SammyT - я не думаю, что эта конкретная проблема связана с 27.1.0 против 27.1.1, так как у меня была та же самая проблема с 27.1.1. Я думаю, что это просто изменение версий поддержки lib, которая устраняет ошибку, независимо от конкретной используемой версии. Смотрите ответ @kassim .
Тед Хопп

1
@TedHopp Я согласен с тобой. Для этой конкретной проблемы закрытие проекта и удаление проектов из последних проектов, а затем повторное открытие проекта исправляет это для меня (независимо от версии библиотеки поддержки). Извините, мой комментарий не соответствует тому, что я задумал, я просто добавил, что будьте осторожны с использованием 27.1.0, если у вас есть viewpager, так как в этой версии библиотеки есть ошибка.
SammyT

Спасибо, это сработало для меня после долгих попыток. Я использовал compile SDK 27 и обновил каждый до 27.1.1
sanjeeb

Нет, это не так, я использую 27.1.1, и проблема остается для меня.
Эли

10

Я прошел через ту же проблему, когда я обновился до альфа-2.

Я посмотрел на эту ссылку: http://tools.android.com/recent , но единственное, что сработало, было:

Измените это: Classpath 'com.android.tools.build:gradle:2.3.0-alpha2'

Для этого: Classpath 'com.android.tools.build:gradle:2.2.3'

В вашем build.gradle (проект)


4

Только это у меня сработало

  • Закрыть проект (Файл> Закрыть проект)
  • Импортировать / повторно открыть проект снова ( НЕ из последних )

Ошибка должна быть устранена сейчас.

Если это не помогло, попробуйте ниже

  • Откройте build.gradle, удалите appcompact-v7зависимости и синхронизируйте проект.
  • Добавить appcompact-v7зависимость и синхронизировать.

Возможно, у вас есть проблемы в вашей зависимости. Какое решение сработало для вас?
Хемрай

3

Я столкнулся с такой же проблемой, как эта. Разница лишь в том, что я использовал Studio 2.2.3. Вот что решило мою проблему:

В моем проекте уровня Gradle у меня было:

classpath 'com.android.tools.build:gradle:2.3.0-alpha2' (который был результатом обновления студии)

который я заменил на: classpath 'com.android.tools.build:gradle:2.2.3'

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


2

У меня возникла та же проблема после привязки Firebase к моему приложению. Обновление build.gradle в модуле приложения сделало свое дело, обновив его до:

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.google.firebase:firebase-database:11.8.0'

1

У меня была такая же проблема, когда я обновил свою андроид студию с 2.2.2 до 2.3 Canary Version. Хотя новая бета-версия 2.3 уже выпущена, она использует плагин gradle 2.2.3, который имеет стабильную версию.

Поэтому просто измените зависимость classpath в buildscript уровня проекта build.gradle с альфы на 2.2.3 и синхронизируйте ее. Это решит проблему или изменится на более подходящую версию относительно версии вашего канала.

Подробнее о Gradle Смотреть этот Gradle Рецепты для Android Кен Кузен - Gradle Summit 2016

https://www.youtube.com/watch?v=4L6wHTVmxGA


1

В новых версиях Android Studio нас просят использовать AppCompat. Некоторые пользователи снимают этот флажок и продолжают использовать Theme.AppCompat. Это составляет эту ошибку. То же самое случилось со мной.

Решение - добавить эту строку в ваш build.gradle (приложение).

compile 'com.android.support:appcompat-v7:26.1.0'

1

@Daniel Wilson сделал комментарий в одном из ответов, который решил эту проблему для меня. Я хотел добавить добавить как ответ, чтобы привлечь больше внимания к этому решению.

Обновление compileSdkVersionи targetSdkVersionот 26 до 27 (и тогда, конечно , обновление зависимостей) устранили ошибки для меня.


1

Моя была исправлена ​​путем удаления файла .gradle из папки и повторного импорта проекта в Android Studio


1

Я также столкнулся с проблемой с Android Studio 3.1, синхронизация мне не помогает.

Затем я вернулся к

`'com.android.support:design:27.1.0'` from : `'com.android.support:design:27.1.1'`

и добавил android.enableBuildCache=falseк , gradle.propertiesчтобы отключить кэш сборки


1

Это странно, я сталкиваюсь с этой проблемой, как показано ниже:

  • Android Studio 3.1.2
  • поддержка lib версия 27.0.0

Я решаю это ниже:

  1. измените версию библиотеки поддержки на 27.1.0 и «Синхронизировать проект с файлами Gradle», после чего эта ошибка исчезнет
  2. измените версию библиотеки поддержки на 27.0.0 , и «Синхронизировать проект с файлами Gradle», чтобы эта ошибка больше не появлялась

1

Удалил .idea и .gradle из папки проекта. Затем синхронизировать с файлами Gradle, это работает.


0

Я столкнулся с той же проблемой при обновлении программного обеспечения Android Studio. То, что я сделал, было это:

Перейдите в настройки Gradle следующим образом (этот путь для Mac, но должен быть похож на Windows):

Android Studio -> Настройки -> Сборка, выполнение, развертывание -> Gradle.

Затем выберите «Использовать упаковщик по умолчанию (рекомендуется)».

Если вы уже выбрали этот вариант, то ваша проблема должна лежать где-то еще.



0

В Android Studio 3.1.3 простое решение:

«Синхронизировать проект с файлами Gradle»


0

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

Тогда, пожалуйста, просто игнорируйте это ...

Даже трепетные чиновники также говорят, что игнорируют эти ошибки ..

Предостережение *** Игнорируйте только после попытки всех методов. Если вышеуказанные методы решают ваши ошибки, тогда хорошо, в противном случае вы можете игнорировать эти ..

Этот тип ошибок возникает после установки последней версии Flutter SDK, Gradle, Android Studio и других плагинов-пакетов

Если вы используете последнюю версию, вы должны игнорировать эти ошибки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.