无法解析 styles.xml 中的符号 'Theme.AppCompat.Light.DarkActionBar'
Cannot resolve symbol 'Theme.AppCompat.Light.DarkActionBar' in styles.xml
Theme.AppCompat.Light.DarkActionBar 未在 styles.xml 中编译。我在应用程序模块中添加了 compile 'com.android.support:appcompat-v7:25.1.0'
build.gradle
。
我在 google 中搜索了解决方案。其中很多是关于更改项目 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"
}
检查您的 build.gradle 文件,将 compileSdkVersion 设置为 25。
以下 gradle 正在为我使用 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'
}
compile 'com.android.support:appcompat-v7:23.4.0'
试试这个
将 style.xml 文件更改为 <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"></style>
我遇到了完全相同的问题,为我解决的是逆行 gradle 插件:
buildscript {
repositories {
jcenter()
}
dependencies {
//classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.android.tools.build:gradle:2.2.3'
}
}
随后与 gradle 个文件同步项目以解决问题。
您的 build.gradle 版本完全错误。
按照这些说明解决这个问题:
- 在 Android 工作室中,转到左侧面板中的 Gradle 脚本部分。
- 查找文件:
build.gradle(Project:{your_project_name})
- 在该文件中查看行
com.android.tools.build:gradle
- 检查版本是否与您的 android 工作室版本匹配(例如 2.3.3)。这意味着
com.android.tools.build:gradle:2.3.3
和 And an Android studio distribution with 2.3.3 as version.
- 验证版本是否相同。如果不是这样,请确保它们匹配。
- 重建项目,一切正常!
<style name="Theme.Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
如果 clean/rebuild 不起作用,只需删除项目根目录中的 .gradle 目录。并再次与 gradle 同步项目。
当您混合支持库的缓存时会导致此问题。
我注意到可以使用前缀为 @android:style/
的所有主题。所以,我通过替换
解决了这个问题
Theme.AppCompat.Light.DarkActionBar
和
@android:style/Theme.DeviceDefault.Light.DarkActionBar
我按照接受的答案中的建议做了一切,但没有帮助。然后我按照这个答案中的建议做了所有事情:Android studio cannot find Theme.AppCompat.Light.DarkActionBar(启用存储库中的所有组件)但它也没有帮助。
单击“文件”菜单中的 "Synchronized" 后问题才得到解决。我是 运行 Android 3.0.1 Mac。
我的解决方法是删除项目根目录中的 .gradle 文件夹,然后单击文件并单击 "Synchronize"。之后一切正常。
我在 Android 3.0.1 中遇到了同样的问题,尝试执行 "Synchronize"、重新系统调度 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'
}
转到“文件”>“关闭项目”。然后将其导入并重新启动 Android Studio。
也许您可以尝试以下解决方案之一:
- 删除项目下的
.gradle
文件夹
- 如果项目是从Eclipse导入的,或者是旧项目
- 在
app/build.gradle
中升级 minSdkVersion
,例如。 14 或 16,大于 8 !
- 删除
AndroidManifest.xml
中的 minSdkVersion
& targetSdkVersion
配置!
- 在
app/build.gradle
中导入 com.android.support:appcompat-v7
库
- 将您的 Android Studio 升级到最新版本
- 如果还是不行,也许你可以:
- 重启Android工作室
- 删除 Android Studio 中的项目并重新导入。
这对我有用。
- 关闭 android 工作室项目。
- 从最近删除项目。
- 转到项目目录并删除“.gradle”目录。
- 从选项 "Open an existing Android Studio Project" 打开项目。
只需在 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 版本......
我有这个问题,这是因为在我的新样式中,这是因为当我声明一个新样式时,我在名称中放置了 "Theme.AppCompat.Light.NoActionBar" 而不是父项。
我从 :
<style name="Theme.AppCompat.Light.NoActionBar" />
到
<style name="ThisTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
我尝试了很多解决方案,包括删除 .gradle
文件夹(是的,它有效,一个项目变得可编译),但红色主题并没有消失。
这 advice 帮助了:
- 进入
.idea
目录
- 删除
caches
和 libraries
目录
- 文件 -> 使缓存无效 -> 重新启动
This solution worked for me
- 关闭项目(文件 > 关闭项目)
- 再次导入/重新打开项目(不是最近的)
现在应该解决错误。
如果失败,请尝试以下-
- 打开 build.gradle,删除
appcompact-v7
依赖项并同步项目。
- 添加
appcompact-v7
依赖和同步。
问题已解决!
在我的案例中,这是由于 gradle-wrapper.properties 中的错误 gradle 版本所致。
distributionUrl=https://services.gradle.org/distributions/gradle-5.0-all.zip
我的父主题是 android:Theme.Light
,我想将其更改为 AppCompat 版本。我错误地将其更改为 android:Theme.AppCompat.Light
,但我需要将其更改为 Theme.AppCompat.Light
。
尝试重构 > 迁移到 AppCompat...。
它对我有用
Theme.AppCompat.Light.DarkActionBar 未在 styles.xml 中编译。我在应用程序模块中添加了 compile 'com.android.support:appcompat-v7:25.1.0'
build.gradle
。
我在 google 中搜索了解决方案。其中很多是关于更改项目 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"
}
检查您的 build.gradle 文件,将 compileSdkVersion 设置为 25。 以下 gradle 正在为我使用 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'
}
compile 'com.android.support:appcompat-v7:23.4.0'
试试这个
将 style.xml 文件更改为 <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"></style>
我遇到了完全相同的问题,为我解决的是逆行 gradle 插件:
buildscript {
repositories {
jcenter()
}
dependencies {
//classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.android.tools.build:gradle:2.2.3'
}
}
随后与 gradle 个文件同步项目以解决问题。
您的 build.gradle 版本完全错误。
按照这些说明解决这个问题:
- 在 Android 工作室中,转到左侧面板中的 Gradle 脚本部分。
- 查找文件:
build.gradle(Project:{your_project_name})
- 在该文件中查看行
com.android.tools.build:gradle
- 检查版本是否与您的 android 工作室版本匹配(例如 2.3.3)。这意味着
com.android.tools.build:gradle:2.3.3
和 And an Android studio distribution with 2.3.3 as version. - 验证版本是否相同。如果不是这样,请确保它们匹配。
- 重建项目,一切正常!
<style name="Theme.Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
如果 clean/rebuild 不起作用,只需删除项目根目录中的 .gradle 目录。并再次与 gradle 同步项目。
当您混合支持库的缓存时会导致此问题。
我注意到可以使用前缀为 @android:style/
的所有主题。所以,我通过替换
Theme.AppCompat.Light.DarkActionBar
和
@android:style/Theme.DeviceDefault.Light.DarkActionBar
我按照接受的答案中的建议做了一切,但没有帮助。然后我按照这个答案中的建议做了所有事情:Android studio cannot find Theme.AppCompat.Light.DarkActionBar(启用存储库中的所有组件)但它也没有帮助。
单击“文件”菜单中的 "Synchronized" 后问题才得到解决。我是 运行 Android 3.0.1 Mac。
我的解决方法是删除项目根目录中的 .gradle 文件夹,然后单击文件并单击 "Synchronize"。之后一切正常。
我在 Android 3.0.1 中遇到了同样的问题,尝试执行 "Synchronize"、重新系统调度 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'
}
转到“文件”>“关闭项目”。然后将其导入并重新启动 Android Studio。
也许您可以尝试以下解决方案之一:
- 删除项目下的
.gradle
文件夹 - 如果项目是从Eclipse导入的,或者是旧项目
- 在
app/build.gradle
中升级minSdkVersion
,例如。 14 或 16,大于 8 ! - 删除
AndroidManifest.xml
中的minSdkVersion
&targetSdkVersion
配置!
- 在
- 在
app/build.gradle
中导入 - 将您的 Android Studio 升级到最新版本
- 如果还是不行,也许你可以:
- 重启Android工作室
- 删除 Android Studio 中的项目并重新导入。
com.android.support:appcompat-v7
库
这对我有用。
- 关闭 android 工作室项目。
- 从最近删除项目。
- 转到项目目录并删除“.gradle”目录。
- 从选项 "Open an existing Android Studio Project" 打开项目。
只需在 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 版本......
我有这个问题,这是因为在我的新样式中,这是因为当我声明一个新样式时,我在名称中放置了 "Theme.AppCompat.Light.NoActionBar" 而不是父项。 我从 :
<style name="Theme.AppCompat.Light.NoActionBar" />
到
<style name="ThisTheme" parent="Theme.AppCompat.Light.NoActionBar"/>
我尝试了很多解决方案,包括删除 .gradle
文件夹(是的,它有效,一个项目变得可编译),但红色主题并没有消失。
这 advice 帮助了:
- 进入
.idea
目录 - 删除
caches
和libraries
目录 - 文件 -> 使缓存无效 -> 重新启动
This solution worked for me
- 关闭项目(文件 > 关闭项目)
- 再次导入/重新打开项目(不是最近的)
现在应该解决错误。
如果失败,请尝试以下-
- 打开 build.gradle,删除
appcompact-v7
依赖项并同步项目。 - 添加
appcompact-v7
依赖和同步。
问题已解决!
在我的案例中,这是由于 gradle-wrapper.properties 中的错误 gradle 版本所致。
distributionUrl=https://services.gradle.org/distributions/gradle-5.0-all.zip
我的父主题是 android:Theme.Light
,我想将其更改为 AppCompat 版本。我错误地将其更改为 android:Theme.AppCompat.Light
,但我需要将其更改为 Theme.AppCompat.Light
。
尝试重构 > 迁移到 AppCompat...。 它对我有用