Неможливо вирішити символ "Тема" у 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
  • build-інструменти: 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
У
мене

10
stackoverflow.com/a/48734990/8311441 Коли кожне інше рішення не вдалося, це допомогло мені
Табіш

1
Щойно натрапив на цю проблему (в студії Android 3.1.3). Видалення appcompat-v7та синхронізація перед тим, як знову додати її, допомогло. Давайте всі будемо підтримувати і сподіваємось на оновлення тут issueetracker.google.com/isissue/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
мес

3
блискучий. Я спробував 5 чи 6 інших відповідей, але це, що нарешті спрацювало. Дякую!
albert c braun

2
Якщо це було ваше рішення, як воно моє, ви можете просто очистити та відновити його після того, як це зробите один раз, і це знову виправить.

5
Добре, що це було нерозумно, ха-ха, але це спрацювало. Треба любити баггі AS. Дякую за пораду.
Сем

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
Не виправляє мою проблему
jrswgtr

7
Шахта виправляється лише закривши проект, видаливши його зі списку останніх проектів (взяти до відома шлях проекту), а потім повторно відкрити проект. Можливо, це змусить кеш-пам'ять відновити ...
SammyT

86

EDIT: Як зазначав @Alexey , помилка все ще з’являється в Android Studio v3.1.4

Це працювало для мене:

  • Клацніть Файл> Закрити проект
  • Повторно відкрийте проект із діалогового вікна студії.

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


3
Зауважте, що це також скине ваші налаштування вікна - розміри різних панелей, які вкладки відображаються на початку та ін. Це також змінить, який варіант складання ви перебуваєте назад до налагодження. Це дозволить ефективно стерти всі параметри редактора та налаштування для проекту.
InsanityOnABun

Це спрацювало! Але також цікаво знати, чому це сталося в першу чергу. Я змінив кілька кольорів у своїх кольорах.xml. Не вдалося зрозуміти, як це пов’язано або може бути помилка AS 3.1.2?
Рохіт Шарма

Помилка AndroidStudio. Як згадував @InsanityOnABun , закриття та відкриття проекту таким чином скидає багато речей. У процесі вирішення проблеми з помилками зникає.
Ευάγγελος Μπίλης

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

Жодна з інших відповідей не працювала, але це було! Чудово .. Працює на AS 3.1.3 ідеально. Дивно почав отримувати цю помилку лише після того, як щось
змінив

37

Це пов’язано з функцією під назвою "кеш-пам'ять", яка включена за замовчуванням у збірці Android-плагінів з 2.3.0. Він створює файли в кеші збірки поза папкою проекту (в моєму випадку - в \ Користувачі \% ім'я користувача% \. Android \ build-cache) Ці файли призначені для спільного використання ваших проектів.

І тоді Android Studio не в змозі орієнтуватися у цих файлах. Це все.

Якщо ви хочете відключити кеш збірки, додайте android.enableBuildCache=falseу gradle.propertiesфайл. Потім перезапустіть Android Studio.

більше інформації тут: https://developer.android.com/studio/build/build-cache.html#disable_build_cache


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

2
Це працювало деякий час, але потім помилка підкралася.
rmtheis

це не рішення, нам потрібно увімкнути кеш збірки ТА не бачити цю помилку.
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 версією інструменту побудови. :)
Farya

Працює як шарм! Дякую!
Hexise

@Tricky Bay Чи є у вас рішення цієї проблеми? Дякую! stackoverflow.com/questions/53323910/…
Ерік

19

ви можете натиснути файл -> недійсний кеш / перезапустити ... якщо це не вирішує проблему, ви можете закрити проект (файл-> закрити проект) та імпортувати його (файл -> новий -> імпортувати проект.


У моєму випадку Invalidate Caches / Restart ...працювали. Здається, причина цієї помилки є різною.
wonsuc

1
Це працювало для мене. закрити проект + видалити проект (з x справа вгорі) + імпортувати існуючий проект Android Studio 3.1.3 com.android.tools.build:gradle:3.1.3
січня

Я працював у 2018 році! android studio 3.1.3 gradle 3.1.3
PanCrucian

12

Я перейшов на підтримку lib до версії 27.1.1 і проблема була вирішена. Здається, якась помилка в 27.1.0


2
Я погоджуюся, не використовуйте 27.1.0, якщо у вас є переглядач. Мій додаток отримував 20 збоїв на день. issueetracker.google.com/isissue/74130311 Виправлено в 27.1.1, і моє додаток, здається, завантажується швидше через те, що setUserVisibleHint спочатку завантажує видимий фрагмент.
SammyT

6
@SammyT - Я не думаю, що ця проблема пов'язана з 27.1.0 проти 27.1.1, оскільки у мене була така сама проблема з 27.1.1. Я думаю, що саме зміна версій підтримки lib очищає помилку, незалежно від конкретної версії, що використовується. Дивіться відповідь @kassim .
Тед Хопп

1
@TedHopp Я згоден з вами. У цьому конкретному питанні закриття проекту та видалення проектів із останніх проектів, а потім повторне відкриття проекту вирішує для мене (незалежно від версії бібліотеки підтримки). Вибачте, що мій коментар читає неправильно, як я мав намір, я просто додав обережно використовувати 27.1.0, якщо у вас є переглядач, оскільки в цій версії бібліотеки є помилка.
SammyT

Дякую, це спрацювало для мене після багатьох спроб. Я використав компіляцію 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. Ось що вирішило мою проблему:

У мій студії на рівні проекту я мав:

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 канарної версії. Хоча випущена нова бета-версія 2.3, але вона використовує плагін gradle 2.2.3, який є стабільною версією.

Тож просто змініть залежність класного шляху в рівні проекту build.gradle проекту з альфа-до 2.2.3 та синхронізуйте його. Це вирішить проблему або змінить на більш відповідну версію стосовно вашої версії каналу.

Детальніше про Gradle дивіться цей Рецепти Gradle для андроїда Кен Кусен - 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. змінити версію lib підтримки на 27.1.0 та "Синхронізувати проект з файлами Gradle", тоді ця помилка зникне
  2. змінити версію lib підтримки на 27.0.0 , та "Синхронізувати проект з файлами Gradle", тоді ця помилка не з’явиться знову

1

Видалено .idea та .gradle з папки проекту. Потім синхронізуйте з файлами gradle, воно спрацювало.


0

Я зіткнувся з тією ж проблемою під час оновлення програмного забезпечення Android Studio. Що я зробив:

Перейдіть у Налаштування Gradle наступним чином (цей шлях призначений для Mac, але він має бути схожим для Windows):

Android Studio -> Налаштування -> Збірка, виконання, розгортання -> Gradle.

Потім виберіть "Використовувати обгортку 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.