【问题标题】:Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.....'检索项目的父项时出错:找不到与给定名称“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 不会改变这一点。
  • 你解决了吗?如果是,请回答问题

标签: android facebook push-notification


【解决方案1】:

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

根据Picking your compileSdkVersion blog post

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

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

【讨论】:

    猜你喜欢
    • 2017-10-27
    • 2014-06-04
    • 2017-06-27
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    相关资源
    最近更新 更多