首页 文章

无法解析styles.xml中的符号'Theme'(Android Studio)

提问于
浏览
167

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

  • build-tools:23.0.2和25.0.1

  • 支持存储库:40

  • google存储库: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'
}

22 回答

  • 3

    从项目文件夹中删除了.idea和.gradle . 然后与gradle文件同步,它工作 .

  • 83

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

    转到Gradle设置,如下所示(此路径适用于Mac,但在Windows上应类似):Android Studio - >首选项 - >构建,执行,部署 - > Gradle . 然后选择“使用默认gradle包装器(推荐)” .

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

  • 37

    将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'
    
  • 0

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

  • 2

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

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

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

    这对我有用

    • 关闭项目(文件>关闭项目)

    • 再次导入/重新打开项目( NOT from Recent

    Error should be resolved now.

    如果 fails ,请尝试以下 -

    • 打开build.gradle,删除 appcompact-v7 依赖项和同步项目 .

    • 添加 appcompact-v7 依赖和同步 .

  • 103

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

    然后我换回来

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

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

  • 205

    我曾经也有过一样的问题 . 对我有用的唯一解决方案是 manually delete the support libraries in file systemsync the projectAndroid Studio 再次下载它们 .

    脚步:

    • 转到 File system 中的项目文件夹

    • 转到 .idea\libraries

    • 删除所有 Gradle__com_android_support_****.xml 文件

    • 打开 Android Studio

    • 选择 File > Sync with File System

    • 完成后,选择 File > Sync Project with Gradle Files

    • Build Project

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

  • 0

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

    compileSdkVersiontargetSdkVersion 从26更新到27(然后当然更新依赖关系)为我消除了错误 .

  • 0

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

  • 1

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

    如果你有这些,请从 build.gradle 删除它们:

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

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

  • 1

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

  • 1

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

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

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

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

  • 1

    这是因为自2.3.0以来在构建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

  • 11

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

    • Android Studio是3.1.2

    • 支持lib版本是27.0.0

    我解决这个问题如下:

    • 将支持lib版本更改为27.1.0和"Sync Project with Gradle Files",然后此错误消失

    • 将支持lib版本更改为27.0.0和"Sync Project with Gradle Files",然后再次出现此错误

  • 1

    无需改变任何东西 .

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

  • 25

    我遇到同样的问题升级到alpha-2 .

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

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

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

    在build.gradle(Project)中

  • 10

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

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

    classpath 'com.android.tools.build:gradle:2.3.0-alpha2' (which was a result of updating studio)

    which I replaced with: classpath 'com.android.tools.build:gradle:2.2.3'

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

  • 90

    我改变了我的gradle版本

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

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

    它现在有效!

  • 1

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

    "Sync Project with Gradle Files"

  • 2

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

    这里列出的其他答案都没有为我工作,但是当我将我的appcompat支持lib版本切换到最新的 28.0.0-alpha1 然后回到之前的 27.1.0 时,它起作用了 .

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

  • 17

    EDIT:@Alexey所述,bug仍会出现在Android Studio v3.1.4中

    这对我有用:

    • 点击 File > Close Project

    • 从Studio的对话框中重新打开项目 .

    enter image description here

相关问题