无法解析符号'主题'在styles.xml(Android Studio)中

时间:2016-11-26 19:19:28

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

Screenshot

从今天开始,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
  • google repository:39

以及其他一些人,不一定要在这里列出。

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

23 个答案:

答案 0 :(得分:212)

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

如果您拥有这些内容,请从build.gradle删除这些内容:

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

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

答案 1 :(得分:104)

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

此处列出的其他答案都没有为我工作,但是当我将appcompat支持lib版本切换到最新的28.0.0-alpha1然后再回到它之前的27.1.0时,它可以工作。

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

答案 2 :(得分:91)

无需改变任何内容。

只需按下“使用Gradle文件同步项目”

上方的小按钮

答案 3 :(得分:86)

编辑:正如@Alexey所述,错误仍会出现在Android Studio v3.1.4中

这对我有用:

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

enter image description here

答案 4 :(得分:37)

这是因为称为"构建缓存"默认情况下在2.3.0版本的build Android插件中启用。 它在项目文件夹之外的构建缓存中创建文件(在我的情况下 - 在\ Users \%username%\ .android \ build-cache中) Theese文件适用于您的项目。

然后Android Studio无法在theese文件中导航。 这就是全部。

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

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

答案 5 :(得分:26)

我遇到了同样的问题。对我来说唯一有效的解决方案是手动删除文件系统中的支持库同步项目,以让 Android Studio 再次下载它们。

步骤:

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

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

答案 6 :(得分:17)

你可以点击文件 - >使缓存/重新启动失效...如果它没有解决问题,您可以关闭项目(file->关闭项目)并导入它(文件 - > new - >导入项目。

答案 7 :(得分:12)

我将支持lib切换到版本27.1.1并且问题已经解决。看起来像27.1.0中的一些错误

答案 8 :(得分:10)

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

我查看了这个链接:http://tools.android.com/recent,但唯一运作良好的是:

改变这个: Classpath'com.android.tools.build:gradle:2.3.0-alpha2'

为此: Classpath'com.android.tools.build:grad:2.2.3'

在build.gradle(Project)

答案 9 :(得分:4)

这只对我有用

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

错误应立即解决。

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

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

答案 10 :(得分:3)

我遇到了同样的问题。差异在于我使用的是Studio 2.2.3。这就解决了我的问题:

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

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

我替换为: classpath' com.android.tools.build:gradle:2.2.3'

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

答案 11 :(得分:2)

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

解决方案是在build.gradle(app)中添加此行。

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

答案 12 :(得分:2)

将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 :(得分:1)

当我将我的android工作室从2.2.2升级到2.3 Canary版本时,我也遇到了同样的问题。 尽管2.3的新测试版已经发布,但它使用的是2.2.3的gradle插件,它是稳定版本。

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

更多关于gradle观看这款Gradle Recipes for Android Ken Kousen - Gradle Summit 2016

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

答案 14 :(得分:1)

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

答案 15 :(得分:1)

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

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

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

  1. 将支持lib版本更改为27.1.0,以及"使用Gradle文件同步项目",然后此错误消失
  2. 将支持lib版本更改为27.0.0,"使用Gradle文件同步项目",然后再次出现此错误

答案 16 :(得分:1)

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

然后我换回

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

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

答案 17 :(得分:1)

通过从文件夹中删除.gradle文件并在Android Studio中重新导入项目

来解决我的问题

答案 18 :(得分:1)

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

compileSdkVersiontargetSdkVersion从26更新为27(然后更新依赖项),为我消除了错误。

答案 19 :(得分:0)

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

“使用Gradle文件同步项目”

答案 20 :(得分:0)

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

  

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

     

Android Studio - >偏好 - >构建,执行,部署 - >   摇篮。

     

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

如果您已选择该选项,则您的问题必须位于其他地方。

答案 21 :(得分:0)

我从

改变了我的gradle版本
classpath 'com.android.tools.build:gradle:2.3.0'

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

现在可以使用了!

答案 22 :(得分:0)

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

然后请简单地忽略此...

甚至扑扑的官员也表示无视这些错误。

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

这种类型的错误是在安装最新版本的flutter sdk,gradle,android studio和其他插件-packages之后发生的

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