无法解析 style.xml 中的符号“主题”(Android Studio)

Posted

技术标签:

【中文标题】无法解析 style.xml 中的符号“主题”(Android Studio)【英文标题】:Cannot resolve symbol 'Theme' in styles.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 抱怨它并且编译工作正常。很抱歉可能会浪费您的时间,我只关心让错误消失,并认为编译仍然无法正常工作^^ 我有同样的错误,但编译正常 ***.com/a/48734990/8311441 当所有其他解决方案都失败时这对我有帮助 刚刚遇到这个问题(在 Android Studio 3.1.3 中)。删除appcompat-v7 并在再次添加之前进行同步有帮助。让我们在这里投票并希望更新 issuetracker.google.com/issues/67790757 【参考方案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 dependencies987654323@上评论和撤消评论【参考方案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再次下载它们。

步骤:

    转到文件系统中的项目文件夹 转到.idea\libraries 删除所有Gradle__com_android_support_****.xml文件 打开 Android Studio 选择File > Sync with File System 完成后,选择File > Sync Project with Gradle Files Build Project

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

【讨论】:

只有这种方式适用于 28 构建工具版本。 :) 像魅力一样工作!谢谢! @Tricky Bay 你有解决这个问题的办法吗?谢谢!***.com/questions/53323910/…【参考方案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 作为答案,以引起对该解决方案的更多关注。

compileSdkVersiontargetSdkVersion 从 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

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

    将支持库版本更改为 27.1.0,并“将项目与 Gradle 文件同步”,然后此错误消失 将支持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后出现此类错误

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

【讨论】:

以上是关于无法解析 style.xml 中的符号“主题”(Android Studio)的主要内容,如果未能解决你的问题,请参考以下文章

无法解析 AppCompatActivity 上的符号 ViewModelProviders

Android Studio & ProGuard:无法解析符号 getDefaultProguardFile?

Android资源文件夹下面values/style.xmlvalues-v19/style.xmlvalues-v21/style.xml主题调用规则

如何解决 IntelliJ IDEA 中的“无法解析符号”? [复制]

无法解析 IntelliJ 中的符号 ResultSet

无法解析的外部符号