【问题标题】:Cannot resolve symbol 'Theme.AppCompat.Light.DarkActionBar' in styles.xml无法解析 style.xml 中的符号“Theme.AppCompat.Light.DarkActionBar”
【发布时间】:2017-08-27 21:17:38
【问题描述】:

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

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

【问题讨论】:

  • 尝试清理项目并重建
  • 也这样做了。仍然存在。
  • 也发布你的毕业作品
  • 请检查编辑。
  • 嗨,在这里查看我的问题和答案:stackoverflow.com/a/40782046/5241603

标签: android gradle themes android-appcompat


【解决方案1】:

检查您的 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'
}

【讨论】:

  • compileSdkVersion 25 buildToolsVersion '25.0.2' 。已经超过 23 了。
  • 我检查了 buildToolsVersion '25.0.0' ,在 Android Studio 项目中,它工作正常,请检查。
  • 我正在使用 buildToolsVersion '25.0.2'。并 compileSdkVersion 25. 我错过了什么?
  • 你正在使用 buildToolsVersion '25.0.2' 但我建议你 buildToolsVersion '25.0.0' 。
【解决方案2】:
compile 'com.android.support:appcompat-v7:23.4.0'

试试这个

【讨论】:

【解决方案3】:

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

【讨论】:

    【解决方案4】:

    我遇到了完全相同的问题,为我解决的问题是逆行 gradle 插件:

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

    随后将项目与 gradle 文件同步以解决问题。

    【讨论】:

    • 出于某种原因,从 2.3.3 切换到 2.2.3 解决了我的问题。
    【解决方案5】:

    您的 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 和 2.3.3 作为版本的 Android Studio 发行版。
    • 验证版本是否相同。如果不是这种情况,请确保它们匹配。
    • 重建项目,一切正常!

    【讨论】:

    • 也解决了我的问题,在确保 gradle 插件版本与 android studio 版本匹配(一开始不匹配)之后,我得到了更具体的错误,表明出了什么问题。谢谢!
    • 不懂科学,但无论如何它有效! +1
    • 这可能是最好的解决方案 +1
    【解决方案6】:
    <style name="Theme.Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    

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

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

    【讨论】:

      【解决方案7】:

      我注意到所有带有前缀@android:style/ 的主题都可以使用。所以,我已经通过替换解决了这个问题

      Theme.AppCompat.Light.DarkActionBar

      @android:style/Theme.DeviceDefault.Light.DarkActionBar

      【讨论】:

      • 这为我修好了。
      • 如果您的 Activity 正在扩展 AppCompatActivity,这将不起作用
      • 这是用另一个主题(随您的应用程序提供)替换一个主题(随您的操作系统提供),这不是修复
      【解决方案8】:

      我按照接受的答案中的建议做了一切,但没有帮助。然后我按照这个答案中的建议做了所有事情:Android studio cannot find Theme.AppCompat.Light.DarkActionBar(启用了存储库中的所有组件),它也没有帮助。

      只有在文件菜单中单击“同步”后,该问题才得以解决。我在 Mac 上运行 Android 3.0.1。

      【讨论】:

        【解决方案9】:

        我的解决方法是删除项目根目录中的 .gradle 文件夹,然后单击文件并单击“同步”。之后一切正常。

        【讨论】:

        • 您应该清楚“尝试上述方法”是什么意思。您可以直接链接到您发现无效的答案。
        【解决方案10】:

        我在 Android 3.0.1 中遇到了同样的问题,尝试了“同步”、重新同步 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'
        }
        

        【讨论】:

          【解决方案11】:

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

          【讨论】:

          • 以上都对我不起作用。这工作:)
          • 在我的情况下也醒了!
          • 令人惊叹的。为我工作。 Android Studio & Gradle 插件 = 3.1.2。 Gradle 4.4
          • 我不知道如何,但它解决了我的问题
          【解决方案12】:

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

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

          【讨论】:

          【解决方案13】:

          这对我有用。

          1. 关闭 android studio 项目。
          2. 从最近删除项目。
          3. 进入项目目录,删除“.gradle”目录。
          4. 从“打开现有的 Android Studio 项目”选项中打开项目。

          【讨论】:

            【解决方案14】:

            只需在 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'
            

            根据你的安卓版本.........

            【讨论】:

            • 感谢您的回答,但请说明您的解决方案为何能解决问题。此外,发布的支持库是针对 26 级的,但用户正在针对 25 级进行编译。但没有真正警告后果。
            • 我们应该降级支持库吗?
            • @CoolMind: 不需要这样做,根据您当前的 API 使用支持库
            • @Elletlar:也许你的目标 API 是 26,主要是它解决了你的问题.... :)
            【解决方案15】:

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

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

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

            【讨论】:

              【解决方案16】:

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

              这个advice 帮助了:

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

              【讨论】:

                【解决方案17】:

                这个解决方案对我有用

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

                现在应该解决错误。

                如果失败,请尝试以下-

                • 打开 build.gradle,移除 appcompact-v7 依赖并同步项目。
                • 添加appcompact-v7 依赖和同步。

                问题解决了!

                【讨论】:

                  【解决方案18】:

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

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

                  【讨论】:

                    【解决方案19】:

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

                    【讨论】:

                      【解决方案20】:

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

                      【讨论】:

                        猜你喜欢
                        • 2017-09-04
                        • 1970-01-01
                        • 1970-01-01
                        • 2017-04-10
                        • 2018-11-11
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多