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

Fis*_*yLP 175 android android-appcompat gradle android-studio android-styles

截图

从今天开始,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

和其他一些,这里没有必要列出.

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'
}
Run Code Online (Sandbox Code Playgroud)

M D*_*D P 217

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

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

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

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

  • 工作,非常奇怪:D (22认同)
  • 哈哈,这真是太傻了,但它确实奏效了.得爱马车AS.谢谢你的提示. (5认同)
  • 它可以工作,只是评论和撤消对gradle`dependent {`的评论 (4认同)
  • 辉煌.我尝试了5或6个其他答案,但这是最终奏效的.谢谢! (3认同)
  • 如果这是你的解决方案,就像我的一样,你可以在完成这一次后清理和重建,它将再次修复它. (2认同)

kas*_*sim 105

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

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

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

  • 根据我的经验,这是最可靠的解决方案,这不是一件好事.AS不应该要求这些hacky解决方案. (8认同)
  • 我在26.0.1并且更新到27.1.1(并且编译版本从26到27)使得所有错误都消失了(字面上没有别的意思) (7认同)
  • 回到26.0.1再到27.1.1也可以 (4认同)

Vad*_*dim 91

无需改变任何东西.

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

  • ^我必须将我的appcompat支持lib版本切换到最新的`28.0.0-alpha1`然后再回到`27.1.0`才能在AS 3.1上运行 - 似乎新版本的AS丢失了与库同步到的位置的连接并且只需要重置它 (15认同)
  • Android Studio 3.1.1并且遇到了同样的问题 (9认同)
  • Android Studio 3.1也有同样的问题. (8认同)
  • 只有关闭项目,将其从最近的项目列表中删除(注意项目路径),然后重新打开项目,才能解决我的问题.也许这会强制缓存重建...... (7认同)
  • 使用Gradle FIles的Sync Project不起作用 (6认同)
  • 不解决我的问题 (3认同)

Ευά*_*λης 86

编辑:正如@Alexey所说,bug仍然出现在Android Studio v3.1.4中

这对我有用:

  • 单击文件>关闭项目
  • 从Studio的对话框重新打开项目.

在此输入图像描述

  • 请注意,这也将重置您的窗口首选项 - 各种窗格的大小,启动时显示的选项卡等.它还将更改您正在调试的构建变体.这将有效地擦除项目的所有编辑器首选项和设置. (3认同)

bab*_*bay 37

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

然后Android Studio无法在theese文件中导航.就这样.

如果要禁用Build Cache,请添加android.enableBuildCache=falsegradle.properties文件.然后重启Android Studio.

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

  • 真的是thx,请更新你的答案并告诉别人他们应该在更改`gradle.properties`文件后重新启动Android Studio (2认同)
  • 这工作了一段时间,然后错误悄悄进入. (2认同)

Tri*_*Bay 27

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

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


Mar*_*o T 18

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


Ser*_*nko 12

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

  • @SammyT - 我不认为这个特殊问题与27.1.0 vs 27.1.1有关,因为我在27.1.1中遇到了同样的问题.我认为只是更改支持lib版本来清除错误,无论使用何种特定版本.请参阅[@kassim的答案](/sf/answers/3474696291/). (6认同)
  • 我同意,如果你有一个viewpager,请不要使用27.1.0.我的应用程序每天有20次崩溃.https://issuetracker.google.com/issues/74130311在27.1.1中修复,由于setUserVisibleHint首先加载可见片段,我的应用似乎加载速度更快. (2认同)

小智 10

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

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

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

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

在build.gradle(Project)中


小智 3

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

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

类路径 'com.android.tools.build:gradle:2.3.0-alpha2' (这是更新 studio 的结果)

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

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