【问题标题】:Cannot resolve symbol 'Theme' in styles.xml (Android Studio)无法解析 style.xml 中的符号“主题”(Android Studio)
【发布时间】:2017-04-10 20:51:30
【问题描述】:

从今天开始,Android Studio 无法在 styles.xml 中找到 AppCompat 主题,但例如代码中的 AppCompatActivity 确实得到了识别。我的 Android Studio 版本是 2.2.2,Build #AI-145.3360264

我已经尝试升级到最新的构建工具,编译 sdk (25) 版本等,但没有解决问题。

目前我已经安装了以下内容(来自 sdk 管理器):

  • android api:19 和 23
  • sdk 平台工具:25.0.1
  • sdk 工具:25.2.3
  • 构建工具:23.0.2 和 25.0.1
  • 支持存储库:40
  • 谷歌存储库: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'
}

【问题讨论】:

  • 项目是否编译或只有 IDE 抱怨?使缓存无效/重新启动。
  • Invalidate caches/restart 没有改变任何东西,只有 IDE 抱怨它并且编译工作正常。很抱歉可能会浪费您的时间,我只关心让错误消失,并认为编译仍然无法正常工作^^
  • 我有同样的错误,但编译正常
  • stackoverflow.com/a/48734990/8311441 当所有其他解决方案都失败时这对我有帮助
  • 刚刚遇到这个问题(在 Android Studio 3.1.3 中)。删除appcompat-v7 并在再次添加之前进行同步有帮助。让我们在这里投票并希望更新 issuetracker.google.com/issues/67790757

标签: android android-studio gradle android-appcompat android-styles


【解决方案1】:

另一个适用于 Android Studio 3.1.2 的解决方案:

如果您有这些,请从 build.gradle 中删除:

'com.android.support:appcompat-v7:27.1.1' 'com.android.support:design:27.1.1'

然后同步, 然后撤消删除, 然后再次同步。

【讨论】:

  • 工作,很奇怪:D
  • 太棒了。我尝试了 5 或 6 个其他答案,但这最终奏效了。谢谢!
  • 如果你的解决方案和我的一样
  • 不得不这样做很愚蠢,哈哈,但它奏效了。一定要喜欢越野车 AS。感谢您的提示。
  • 它有效,只需在 gradle dependencies{987654323@上评论和撤消评论
【解决方案2】:

我在更新到 Android Studio 3.1 后遇到了这个问题。

此处列出的其他答案均不适合我,但是当我将 appcompat 支持 lib 版本切换到最新的 28.0.0-alpha1 然后再切换回之前的 27.1.0 时,它起作用了。

似乎新版本的 Android Studio 失去了与库同步到的位置的连接,只需要重置它。

【讨论】:

  • 谢谢。和你一样,升级到 AS 3.1 后,其他答案都没有对我有用,但这成功了。您只需确保在每次更改后同步即可。
  • 我在 26.0.1 并更新到 27.1.1(并将版本从 26 编译到 27)使所有错误都消失了(实际上没有别的)
  • 回到 26.0.1 然后到 27.1.1 也可以
  • 根据我的经验,这是最可靠的解决方案,这不是一件好事。 AS 不应该需要这些骇人听闻的解决方案。
  • 此解决方案有效。我只是对愚蠢的 IDE + Gradle 故障排除占用大量时间感到失望。
【解决方案3】:

无需更改任何内容。

只需按下顶部“与 Gradle 文件同步项目”上的小按钮

【讨论】:

  • Android Studio 3.1 和同样的问题。
  • ^ 我必须将我的 appcompat 支持 lib 版本切换到最新的 28.0.0-alpha1,然后再切换回 27.1.0,然后才能在 AS 3.1 上运行 - 似乎新版本的 AS 失去了与库所在位置的连接同步到并且只需要重置它
  • Android Studio 3.1.1 遇到同样的问题
  • 不能解决我的问题
  • 只有通过关闭项目,将其从最近的项目列表中删除(记下项目路径),然后重新打开项目才能修复我的问题。也许这会迫使缓存重建......
【解决方案4】:

编辑:正如@Alexey 指出的那样,Android Studio v3.1.4 中仍然出现错误

这对我有用:

  • 点击文件>关闭项目
  • 从 Studio 的对话框中重新打开项目。

【讨论】:

  • 请注意,这还将重置您的窗口首选项 - 各种窗格的大小、开始时显示的选项卡等。它还将更改您正在调试的构建变体。这将有效地擦除项目的所有编辑器首选项和设置。
  • 这成功了!但也很想知道,为什么会发生这种情况。我在我的 colors.xml 中修改了一些颜色。无法理解这与 AS 3.1.2 错误有何关联或可能是 AS 3.1.2 错误?
  • AndroidStudio 错误。正如@InsanityOnABun 提到的那样,以这种方式关闭和打开项目会重置很多东西。在此过程中,与错误相关的问题消失了。
  • @ΕυάγγελοςΜπίλης 刚刚在 Android Studio 3.1.3 中遇到了这个错误,并以您的方式解决了它;您可以更新每个人都知道它也适用于 AS 3.1.3 的答案。
  • 其他答案都不起作用,但确实如此!太棒了.. 在 AS 3.1.3 上完美运行。奇怪的是,只有在修改了一些样式后才开始出现这个错误,虽然我把它回滚了..
【解决方案5】:

这是因为自 2.3.0 以来在构建 Android 插件中默认启用了名为“构建缓存”的功能。 它在项目文件夹之外的构建缓存中创建文件(在我的情况下 - 在 \Users\%username%\.android\build-cache 中) 这些文件旨在在您的项目之间通用。

然后 Android Studio 无法在这些文件中导航。 就是这样。

如果要禁用构建缓存,请将android.enableBuildCache=false 添加到gradle.properties 文件。然后重启 Android Studio。

更多信息在这里: https://developer.android.com/studio/build/build-cache.html#disable_build_cache

【讨论】:

  • 真的谢谢,请更新你的答案并告诉其他人他们应该在更改gradle.properties文件后重新启动Android Studio
  • 这工作了一段时间,但随后错误又出现了。
  • 这不是解决方案,我们需要保持构建缓存启用并且不要看到这个错误。
  • @m-d-p 解决方法是修复Android Studio中的错误。这是一种解决方法。
  • 不推荐使用“android.enableBuildCache”选项。当前默认值为“假”。
【解决方案6】:

我也遇到了同样的问题。唯一对我有用的解决方案是手动删除文件系统中的支持库并同步项目让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

现在你的错误应该消失了!!!

【讨论】:

【解决方案7】:

您可以点击文件-> 使缓存无效/重新启动...如果它不能解决问题,您可以关闭项目(文件-> 关闭项目)并导入它(文件-> 新建-> 导入项目。

【讨论】:

  • 就我而言,Invalidate Caches / Restart ... 有效。这个错误的原因似乎是多种多样的。
  • 这对我有用。关闭项目+删除项目(右上方有x)+导入现有项目Android Studio 3.1.3 com.android.tools.build:gradle:3.1.3
  • 你在 2018 年工作过! android studio 3.1.3 gradle 3.1.3
【解决方案8】:

我将支持库切换到 27.1.1 版本,问题已解决。似乎是 27.1.0 中的一些错误

【讨论】:

  • 我同意,如果您有浏览器,请不要使用 27.1.0。我的应用程序每天发生 20 次崩溃。 issuetracker.google.com/issues/74130311 在 27.1.1 中修复,由于 setUserVisibleHint 首先加载可见片段,我的应用程序似乎加载得更快。
  • @SammyT - 我认为这个特定问题与 27.1.0 与 27.1.1 无关,因为我在 27.1.1 上遇到了同样的问题。我认为它只是更改了清除错误的支持库版本,而不管使用的特定版本如何。见the answer by @kassim。
  • @TedHopp 我同意你的看法。对于这个特定问题,关闭项目并从最近的项目中删除项目,然后重新打开项目为我修复它(无论支持库版本如何)。抱歉,我的评论与我的意图不符,我只是补充说,如果您有 viewpager,请小心使用 27.1.0,因为该版本的库中存在错误。
  • 谢谢,经过大量尝试,这对我有用。我使用 compile sdk 27​​ 并将每个升级到 27.1.1
  • 不,不是,我使用的是 27.1.1,问题仍然存在。
【解决方案9】:

我升级到 alpha-2 时遇到了同样的问题。

我查看了这个链接:http://tools.android.com/recent,但唯一有效的是:

改变这个: 类路径'com.android.tools.build:gradle:2.3.0-alpha2'

为此: 类路径'com.android.tools.build:gradle:2.2.3'

在你的 build.gradle(项目)中

【讨论】:

    【解决方案10】:

    只有这对我有用

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

    现在应该解决错误。

    如果失败,请尝试以下-

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

    【讨论】:

    • 也许你的依赖有问题。哪种解决方案适合您?
    【解决方案11】:

    我遇到了同样的问题。只是不同的是我使用的是 Studio 2.2.3。这就是解决我的问题的方法:

    在我的项目级 gradle 中,我有:

    classpath 'com.android.tools.build:gradle:2.3.0-alpha2' (这是更新工作室的结果)

    我替换为: 类路径'com.android.tools.build:gradle:2.2.3'

    我认为您应该为您的 gradle 配置寻找兼容的类路径。

    【讨论】:

      【解决方案12】:

      将 Firebase 链接到我的应用后,我遇到了同样的问题。更新 app 模块中的 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'
      

      【讨论】:

        【解决方案13】:

        当我将我的 android studio 从 2.2.2 升级到 2.3 Canary 版本时,我也遇到了同样的问题。 虽然2.3新的beta版本已经发布,但是它使用的是稳定版本的2.2.3的gradle插件。

        所以只需将 build.gradle 项目级别的 buildscript 中的类路径依赖项从 alpha 更改为 2.2.3 并同步它。它将解决问题或更改为与您的频道版本相关的更合适的版本。

        有关 gradle 的更多信息,请观看此 Gradle Recipes for android Ken Kousen - Gradle 峰会 2016

        https://www.youtube.com/watch?v=4L6wHTVmxGA

        【讨论】:

          【解决方案14】:

          在较新版本的 Android Studio 中,我们被要求使用“AppCompat”。一些用户取消选中它并仍然使用Theme.AppCompat。这弥补了这个错误。我也发生了同样的事情。

          解决方案是在你的 build.gradle (app) 中添加这一行。

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

          【讨论】:

            【解决方案15】:

            @Daniel Wilson 在为我解决此问题的答案之一中发表了评论。我想添加 add 作为答案,以引起对该解决方案的更多关注。

            将 compileSdkVersion 和 targetSdkVersion 从 26 更新到 27(然后当然更新依赖项)为我消除了错误。

            【讨论】:

              【解决方案16】:

              通过从文件夹中删除 .gradle 文件并在 Android Studio 中重新导入项目来修复我的问题

              【讨论】:

                【解决方案17】:

                我也遇到了 Android Studio 3.1 的问题,同步对我没有帮助。

                然后我切换回

                `'com.android.support:design:27.1.0'` from : `'com.android.support:design:27.1.1'`
                

                并将android.enableBuildCache=false 添加到gradle.properties 以禁用构建缓存

                【讨论】:

                  【解决方案18】:

                  这很奇怪,我遇到这个问题如下:

                  • Android Studio 是 3.1.2
                  • 支持库版本为27.0.0

                  我通过以下方式解决了这个问题:

                  1. 将支持库版本更改为 27.1.0,并“将项目与 Gradle 文件同步”,然后此错误消失
                  2. 将支持lib版本改为27.0.0,并“Sync Project with Gradle Files”,则不再出现此错误

                  【讨论】:

                    【解决方案19】:

                    从项目文件夹中删除了 .idea 和 .gradle。 然后与 gradle 文件同步,就可以了。

                    【讨论】:

                      【解决方案20】:

                      我在更新 Android Studio 软件时遇到了同样的问题。 我所做的是:

                      如下所示进入 Gradle 设置(此路径适用于 Mac,但在 Windows 上应该类似):

                      Android Studio -> 首选项 -> 构建、执行、部署 -> 摇篮。

                      然后选择“使用默认的 gradle 包装器(推荐)”。

                      如果您已经选择了该选项,那么您的问题肯定出在其他地方。

                      【讨论】:

                        【解决方案21】:

                        我将我的 gradle 版本从

                        classpath 'com.android.tools.build:gradle:2.3.0'
                        

                        到

                        classpath 'com.android.tools.build:gradle:2.2.3'
                        

                        现在可以使用了!

                        【讨论】:

                          【解决方案22】:

                          在 Android Studio 3.1.3 中,简单的解决方法:

                          “使用 Gradle 文件同步项目”

                          【讨论】:

                            【解决方案23】:

                            如果其他贡献者提到的这些方法都不适合你..

                            那么请忽略这个...

                            连flutter官方也说忽略这些错误..

                            注意***请在尝试所有方法后忽略。如果上述方法解决了您的错误,那么很好,否则您可以忽略这些..

                            安装最新版本的flutter sdk,gradle,android studio等plugins-packages后出现此类错误

                            如果您使用的是最新版本,则必须忽略这些错误。

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 2017-08-27
                              • 1970-01-01
                              • 2018-09-06
                              • 2018-05-03
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多