协慌网

登录 贡献 社区

检索项目的父项时出错:升级到 AppCompat v23 后找不到与给定名称匹配的资源

我一直用 Eclipse 编程 Android,并决定开始迁移到Android Studio 。我决定使用我已经用于 Eclipse 的相同 SDK,然后:

  • 开始了一个新项目
  • 设置最低 SDK 4.0(API 级别 14)
  • 选择空白活动选项
  • 已使用活动名称和布局名称的默认名称
  • 命中完成

几秒钟后,Gradle 完成构建,并在文件 Teste4 \ app \ build \ intermediates / explosion-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values 中抛出以下消息,从而引发了两个错误 - v23 \ 价值观 v23.xml:

错误:(2)检索项目的父项时出错:找不到与给定名称 “android:TextAppearance.Material.Widget.Button.Inverse” 匹配的资源。

错误:(2)检索项目的父项时出错:找不到与给定名称 “android:Widget.Material.Button.Colored” 匹配的资源。

文件 - > 项目结构 - > 模块:应用程序(左列) - > 属性选项卡下 ,我设置了以下版本:

  • “编译 Sdk 版本”:Android 5.1(API 级别 22)
  • “构建工具版本”:23.0.2

我该怎么做才能解决这个问题?

我已经尝试过 Stack Overflow 问题appcompat-v7:21.0.0 中的建议:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' ,但它不起作用。

答案

您的编译 SDK 版本必须与支持库的主要版本匹配。

由于您使用的是支持库的第 23 版,因此需要针对 Android SDK 的第 23 版进行编译。

或者,您可以通过切换到最新的支持库 v22 继续针对 Android SDK 的第 22 版进行编译。

这是因为更新后 Android Studio 默认使用API 版本 23

以下对我有用:

Ctrl + Shift + Alt + S进入项目结构页面。转到属性选项卡,在构建工具区域中将 23.0.0更改为22.0.1 (或等同于之前使用的内容)并重建项目。

如果这不起作用,请转到gradle:app然后

compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'

如上所示编辑v7:23.0.0v7: 22.2.1 并同步 gradle。这肯定会奏效。

当您更新 Android Studio 时,它默认使用 API 版本 23,这是它发生的主要原因。所以,

首先,检查 build.gradle 中的 AppCompat 版本(模块:app)即

在此输入图像描述

如果在更改为 23 之后出现错误,则只需下载

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

来自 SDK Manager。如果已下载,则:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

单击 SDK Manager 按钮并打开对话框。

在此输入图像描述

单击 SDK Platform 并检查是否已下载 Android 6.0。

如果没有,那么先下载。完成下载后,单击 “ 应用”

在此输入图像描述

现在,您需要从设置中对项目应用更改。然后按Ctrl + Alt + Shift + S打开设置

  1. 点击列表中的应用。
  2. 单击属性
  3. Compile SDK 版本更改为 API 23
  4. Build Tools 版本更改为 23.0.0

在此输入图像描述

不要忘记重建您的项目。

然后你的错误就会消失。