无法解析符号' Theme.AppCompat.Light.DarkActionBar'在styles.xml中

时间:2017-04-03 05:46:51

标签: android gradle themes android-appcompat

Theme.AppCompat.Light.DarkActionBar未在styles.xml中进行编译。我在app模块中添加了compile 'com.android.support:appcompat-v7:25.1.0' build.gradleTheme Error

我在谷歌搜索过解决方案。其中很多都是关于更改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"
    }

20 个答案:

答案 0 :(得分:30)

你的build.gradle版本是错误的。

按照以下说明修复:

  • 在Android工作室中,转到左侧面板中的Gradle scripts部分。
  • 找到文件: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作为版本。
  • 验证版本是否相同。如果不是这样,请确保它们匹配。
  • 重建项目,一切都很好!

答案 1 :(得分:21)

转到文件>关闭项目。然后将其导入并重新启动Android Studio。

答案 2 :(得分:8)

<style name="Theme.Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">

如果清理/重建不起作用,只需删除项目根目录中的.gradle目录即可。并再次与gradle同步项目。

当您混合支持库的缓存时会导致此问题。

答案 3 :(得分:7)

我注意到可以使用前缀为... | rex x\-sw\-client\-id\:\s(?<ClientID>\S+)的所有主题。所以,我通过替换

解决了这个问题

@android:style/

Theme.AppCompat.Light.DarkActionBar

答案 4 :(得分:3)

我遇到了完全相同的问题,对我来说修复它的是gradle插件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        //classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

随后项目与gradle文件同步以清除问题。

答案 5 :(得分:1)

也许您可以尝试以下解决方案之一:

  1. 删除项目
  2. 下的.gradle文件夹
  3. 如果项目是从Eclipse导入的,或者是旧项目
    1. minSdkVersion中升级app/build.gradle,例如。 14或16,大于8!
    2. 删除minSdkVersion&amp; targetSdkVersion中的AndroidManifest.xml配置!
  4. com.android.support:appcompat-v7
  5. 中导入app/build.gradle
  6. 将您的Android Studio升级到最新版本
  7. 如果它仍然无效,也许您可​​以:
    1. 重启Android Studio
    2. 在Android Studio中删除项目并重新导入。

答案 6 :(得分:0)

尝试执行重构>迁移到AppCompat ... 。 对我有用

答案 7 :(得分:0)

检查build.gradle文件,将compileSdkVersion设置为25。 以下gradle适用于appcompat-v7:25.1.0&#39;

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'
}

答案 8 :(得分:0)

我的主题父级是android:Theme.Light,我想将其更改为AppCompat版本。我错误地将其更改为android:Theme.AppCompat.Light,但是我需要将其更改为Theme.AppCompat.Light

答案 9 :(得分:0)

在我的情况下,这是由于gradle-wrapper.properties中的gradle版本错误。

  

distributionUrl = https://services.gradle.org/distributions/gradle- 5.0 -all.zip

答案 10 :(得分:0)

  

此解决方案对我有用

  • 关闭项目(文件>关闭项目)
  • 再次导入/重新打开项目(不是来自最近的

错误应立即解决。

如果失败,请尝试以下操作-

  • 打开build.gradle,删除appcompact-v7依赖性并同步项目。
  • 添加appcompact-v7依赖项并进行同步。

问题解决了!

答案 11 :(得分:0)

我尝试了许多解决方案,包括删除.gradle文件夹(是的,它可以工作,项目可以编译),但是红色主题并没有消失。

advice帮助:

  • 进入.idea目录
  • 删除cacheslibraries目录
  • 文件->使缓存无效->重新启动

答案 12 :(得分:0)

我有这个问题,这是因为在我的新样式中,这是因为当我声明新样式时,我将“ Theme.AppCompat.Light.NoActionBar”放在名称中,而不是父项。 我从:

<style name="Theme.AppCompat.Light.NoActionBar" />

<style name="ThisTheme" parent="Theme.AppCompat.Light.NoActionBar"/>

答案 13 :(得分:0)

这适合我。

  1. 关闭android studio项目。
  2. 从最近删除项目。
  3. 转到项目目录并删除&#34; .gradle&#34;目录。
  4. 从选项&#34打开项目;打开现有的Android Studio项目&#34;。

答案 14 :(得分:0)

我在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'
}

答案 15 :(得分:0)

我按照已接受的答案中的建议完成了所有操作,并没有帮助。然后我按照本答案中的建议做了所有事情:Android studio cannot find Theme.AppCompat.Light.DarkActionBar(启用了存储库中的所有组件),它也没有帮助。

只有在“文件”菜单中单击“已同步”后才能解决此问题。我在Mac上运行Android 3.0.1。

enter image description here

答案 16 :(得分:0)

将style.xml文件更改为<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"></style>

答案 17 :(得分:0)

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

试试这个

答案 18 :(得分:-1)

只需删除并在 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版本......

答案 19 :(得分:-1)

我的修复是删除项目根目录中的.gradle文件夹,然后单击文件并单击“同步”。一切都在那之后发挥作用。