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

Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'

今天,我遇到了post中提到的错误:

有趣的(和不同之处)是 - 我们的应用程序已投入生产 5 个月,到目前为止我们已经制作了数百个版本和 APK。 我们一周没有更改一行代码(也没有更改任何库版本)并且构建突然停止工作并出现这个提到的错误。

Execution failed for task ':react-native-fbsdk:processReleaseResources'

X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.    
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.    
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.

使用这些版本的库 (package.json):

...
"react": "15.3.2",
"react-native": "0.37.0",
...
"react-native-fbsdk": "~0.5.0",
...

我们的build.gradle(不完整),一直有效到现在:

    compileSdkVersion 24
    buildToolsVersion '24.0.3'
    defaultConfig {
        applicationId "xxx"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 14
        versionName "1.5.3"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }

dependencies {
    compile project(':react-native-device-info')
    compile project(':react-native-maps')
    compile project(':realm')
    compile project(':react-native-vector-icons')
    compile project(':react-native-image-picker')
    compile project(':react-native-fs')
    compile project(':react-native-share')
    compile project(':react-native-push-notification')
    compile project(':react-native-fbsdk')
    compile('com.google.android.gms:play-services-gcm:9.4.0') {
        force = true;
    }
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.facebook.react:react-native:+'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.3'
    compile 'com.fasterxml.jackson.core:jackson-core:2.2.3'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.2.3'
}

有什么想法吗?

实际上存在一些依赖问题 我遇到过同样的问题,但我通过应用这些版本不匹配更改解决了它:

compileSdkVersion 24
buildToolsVersion '24.0.3'

compile 'com.android.support:appcompat-v7:23.0.1'

确保这些版本相同 API。意味着如果你使用 24 API 来构建那么 appcompat-v7 应该是 24.0.+ something.

在这个问题中找到了解决方案

我还分叉了一个 repo 并提供了所有这些更改以使其 运行 具有 RN 0.42。您可以通过输入 yarn add https://github.com/kidnapkin/react-native-fbsdk.git

来安装它

我认为这和

是同一个问题

你必须从

compile('com.facebook.android:facebook-android-sdk:4.+') 

compile('com.facebook.android:facebook-android-sdk:4.22.1')

node_modules\react-native-fbsdk\android\build.gradle

我终于找到了解决办法。在阅读了所有答案和相关问题 () 并尝试了很多事情(库更新、依赖项、大量版本更改等)之后,我设法再次构建了我的应用程序。然后我还原了所有不必要的更改,剩下的就是:

我需要在 android/build.gradle 中添加 2 个东西(迭代器和 "force" 行)文件(不是android/app/build.gradle):

allprojects {
    configurations.all {
       resolutionStrategy {
         eachDependency { DependencyResolveDetails details ->
           if (details.requested.group == 'com.facebook.react' && details.requested.name == 'react-native') {
             details.useVersion "0.37.0" // Your real React Native version here
           }
         }
         force 'com.facebook.android:facebook-android-sdk:4.22.1'
       }
    }
}

感谢所有提示!

这个问题发生在库更新、添加依赖、版本更改等之后。您只需要匹配您的项目的Sdk版本,以及您刚刚添加或已经更新的包。

  1. 转到android/app/build。gradle

    android {
      compileSdkVersion 25
      buildToolsVersion '25.0.3'
    
      defaultConfig {
        minSdkVersion 16
        targetSdkVersion 25
    

    }

  2. 转到node_modules/your-package/android/build。gradle

    android {
      compileSdkVersion 25
      buildToolsVersion '25.0.3'
    
      defaultConfig {
       minSdkVersion 16
       targetSdkVersion 25
    

如果问题还没有解决,请查看package.json

中的其他软件包

就是这样。希望对你有帮助

我只修改 android/app/build.gradle 文件就解决了这个问题。 需要修改compileSdkVersion和buildToolsVersion如下。

android {
  compileSdkVersion 25
  buildToolsVersion "25.0.1"