Не удается разрешить символ 'Theme.AppCompat.Light.DarkActionBar' в styles.xml
Theme.AppCompat.Light.DarkActionBar не компилируется в styles.xml. я добавил compile 'com.android.support:appcompat-v7:25.1.0'
в модуле приложения build.gradle
,
Я искал решение в Google. Многие из них об изменении пути к классам в Project build.gradle
. До сих пор показывает ту же ошибку.
build.gradle
dependencies {
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
compile 'com.android.support:support-annotations:25.1.0'
compile 'com.android.support:cardview-v7:25.1.0'
compile 'com.android.support:recyclerview-v7:25.1.0'
// compile 'ch.acra:acra:4.5.0'
testCompile 'junit:junit:4.12'
}
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 25
versionCode = 146
versionName = "0.6.65"
}
17 ответов
Ваша версия build.gradle просто неправильная.
Следуйте этим инструкциям, чтобы исправить это:
- В Android Studio перейдите в раздел "Сценарии Gradle" на левой панели.
- Найдите файл:
build.gradle(Project:{your_project_name})
- В этом файле посмотрите на строку
com.android.tools.build:gradle
- Убедитесь, что версия соответствует вашей версии Android Studio (например, 2.3.3). Это подразумевает, что
com.android.tools.build:gradle:2.3.3
И дистрибутив Android-студии с 2.3.3 в качестве версии. - Проверка версий одинакова. Если это не так, убедитесь, что они совпадают.
- Перестрой проект и все нормально!
Перейти к файлу >> закрыть проект
затем
Импортируйте его обратно >> Перезапустите Android Studio.
Это работает!!!
<style name="Theme.Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
В случае, если очистка / восстановление не работает, просто удалите каталог.gradle в корневом каталоге вашего проекта. И снова синхронизировать проект с Gradle.
Эта проблема возникает, когда вы смешиваете кеш своих библиотек поддержки.
Я заметил, что все темы доступны с префиксом @android:style/
может быть использован. Итак, я решил эту проблему, заменив
Theme.AppCompat.Light.DarkActionBar
с
@android:style/Theme.DeviceDefault.Light.DarkActionBar
У меня была точно такая же проблема, что исправило это для меня - ретроградный плагин Gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
//classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.android.tools.build:gradle:2.2.3'
}
}
Затем следует синхронизация проекта с файлами Gradle для устранения проблемы.
Может быть, вы можете попробовать одно из следующих решений:
- удалять
.gradle
папка под проект - если проект импортирован из Eclipse, или это старый проект
- Обновить
minSdkVersion
вapp/build.gradle
например 14 или 16, что больше 8! - удалить
minSdkVersion
&targetSdkVersion
конфигурация вAndroidManifest.xml
!
- Обновить
- Импортировать
com.android.support:appcompat-v7
библиотека вapp/build.gradle
- обновить Android Studio до последней версии
- если это все еще не работает, возможно, вы можете:
- перезапустите Android Studio
- удалите проект в Android Studio и повторно импортируйте его.
Проверьте файл build.gradle, установите для compileSdkVersion значение 25 . Следующий app работает у меня с appcompat-v7:25.1.0'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "xxx.xx.xxxxx"
minSdkVersion 16
targetSdkVersion 21
versionCode 26
versionName "3.16"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
//compile 'com.google.firebase:firebase-messaging:9.0.1'
compile 'com.android.support:appcompat-v7:25.1.0'
}
Попробуйте сделать Refactor > Перенести в AppCompat.... Это сработало для меня
Мой родитель темы был android:Theme.Light
и я хотел поменять его на версию AppCompat. Я по ошибке изменил его наandroid:Theme.AppCompat.Light
, но вместо этого мне нужно было изменить его на Theme.AppCompat.Light
.
У меня есть эта проблема, и это потому, что в моем новом стиле, и это потому, что когда я объявляю новый стиль, я помещаю "Theme.AppCompat.Light.NoActionBar" в имя вместо parent. Я изменяю с:
<style name="Theme.AppCompat.Light.NoActionBar" />
в
<style name="ThisTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
У меня была та же проблема в Android 3.0.1, я пытался выполнить "Синхронизировать", Resysnching gradle и т. Д., Но ничего не помогло, потом я обнаружил, что добавление
implementation 'com.android.support:design:27.0.2'
линия исправила проблему
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:support-compat:27.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:recyclerview-v7:27.0.2'
implementation 'com.android.support:design:27.0.2'
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'
}
Я пробовал много решений, в том числе удаление .gradle
папка (да, работает, проект становится компилируемым), но красные темы не исчезли.
Этот совет помог:
- Войдите в
.idea
каталог - Удалить
caches
а такжеlibraries
каталоги - Файл -> Недействительные кеши -> Перезагрузка
compile 'com.android.support:appcompat-v7:23.4.0'
попробуй это
Изменить в файле style.xml как <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"></style>
В моем случае это было связано с неправильной версией gradle в gradle-wrapper.properties.
distributionUrl = https: //services.gradle.org/distributions/gradle-5.0-all.zip
Я сделал все, как было предложено в принятом ответе, и это не помогло. Затем я сделал все, как было предложено в этом ответе: Android-студия не может найти Theme.AppCompat.Light.DarkActionBar (включил все компоненты в репозитории), и это тоже не помогло.
Проблема была решена только после нажатия "Синхронизировано" в меню "Файл". Я использую Android 3.0.1 на Mac.
Это решение сработало для меня
- Закрыть проект (Файл> Закрыть проект)
- Импорт / повторное открытие проекта снова (НЕ из последних)
Ошибка должна быть устранена сейчас.
Если это не помогло, попробуйте ниже
- Откройте build.gradle, удалите
appcompact-v7
зависимость и синхронизация проекта. - добавлять
appcompact-v7
зависимость и синхронизация.
Проблема решена!
Это работает для меня.
- Закрыть андроид студийный проект.
- Удалить проект из последних.
- Перейдите в каталог проекта и удалите каталог ".gradle".
- Открыть проект из опции "Открыть существующий проект Android Studio".
Просто удалите и добавьте следующие строки снова в build.gradle, т.е. app.gradle и синхронизируйте его:
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
согласно вашей версии для Android.........
Исправление для меня состояло в том, чтобы удалить папку.gradle в корне моего проекта, затем щелкнуть файл и нажать "Синхронизировать". все работало после этого.