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

Posted

技术标签:

【中文标题】检索项目的父项时出错:找不到与给定名称“android:Widget.Material .....”匹配的资源【英文标题】:Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.....' 【发布时间】:2017-02-10 23:13:45 【问题描述】:

当我尝试在应用通知库中添加 Facebook 时收到这些错误

    compile 'com.facebook.android:notifications:1.0.2'

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

编译sdk版本是22,构建工具版本是23.0.2。 推送通知库 - https://github.com/facebook/FBNotifications

我知道如果我将 compile sdk 版本更改为 23,这个错误就会消失。但是在我的项目中,我使用了一些在版本 23 上已弃用的方法,目前无法将 compile sdk 版本更改为 23。

有没有其他方法可以让这个错误消失

【问题讨论】:

不推荐使用的方法仍然有效,您编译的 SDK 不会改变这一点。 你解决了吗?如果是,请回答问题 【参考方案1】:

除了将您的编译 SDK 版本更改为 23 或不使用该库之外,没有其他解决方案。如果库是针对更高版本的 SDK 构建的(并且需要来自该 SDK 的新 API),那么您的应用也必须针对更高版本的 SDK 构建。

根据Picking your compileSdkVersion blog post:

需要强调的是,更改您的 compileSdkVersion 不会改变运行时行为。 虽然更改您的 compileSdkVersion 时可能会出现新的编译器警告/错误,但您的 compileSdkVersion 不包含在您的 APK 中:它纯粹是在编译时使用。

targetSdkVersion 可能会改变您的应用程序的行为,您应该确保在递增之前进行测试。

【讨论】:

以上是关于检索项目的父项时出错:找不到与给定名称“android:Widget.Material .....”匹配的资源的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin - 检索项目的父项时出错:找不到与给定名称“Theme.AppCompat.Light.DarkActionBar”匹配的资源

检索项目的父项时出错:找不到与给定名称“android:Widget.Material.Spinner.Underlined”匹配的资源[重复]

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

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

AAPT:检索项目的父项时出错:未找到与名称匹配的资源”

检索项目的父项时出错:找不到资源 [重复]