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

ぐ巨炮叔叔 提交于 2019-12-19 05:13:10

问题


Today, I face the error mentioned in this post: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'

The funny thing (and the difference) is - our application is 5 months in production and we've made hundreds of builds and APKs so far. We didn't change a single line of code for a week (neither any of library version) and the build has suddenly stopped working with this mentioned error.

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'.

Using these versions of libraries (package.json):

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

Our build.gradle (not whole), which worked until now:

    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'
}

Any ideas please?


回答1:


I think this is the same problem as Facebook Sdk Android Error Building

You have to change from

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

to

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

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




回答2:


Finally I've found a solution. After reading all answers and related issues (Facebook Sdk Android Error Building) and trying many things (libs updating, dependencies, lots of version changes etc.) I managed to build my app again. Then I reverted all unnecessary changes and there's what was left:

I needed to add 2 things (iterator and line with "force") in my android/build.gradle file (not 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'
       }
    }
}

Thanks for all the tips anyway!




回答3:


actually there is some dependencies problem i have faced same but i resolved it by applying these version mismatch changes :

compileSdkVersion 24
buildToolsVersion '24.0.3'

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

make sure these version are same API. Means that if you are using 24 API to build then appcompat-v7 should be 24.0.+ something.




回答4:


The solution is found in this question Facebook Sdk Android Error Building

I've also forked a repo and provided all these changes to make it run with RN 0.42. You can install it by typing yarn add https://github.com/kidnapkin/react-native-fbsdk.git




回答5:


This problem happened after libs updating, adding dependencies, version changes etc. All you need is match Sdk versions of your project, and package you just added or has been updated.

  1. Go to android/app/build.gradle

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

    }

  2. Go to node_modules/your-package/android/build.gradle

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

If problem will not be resolved yet, then check other packages from package.json

Thats it. Hope it helps




回答6:


I solve that problem by only modifying android/app/build.gradle file. You need to modify the compileSdkVersion and buildToolsVersion as follows.

android {
  compileSdkVersion 25
  buildToolsVersion "25.0.1"


来源:https://stackoverflow.com/questions/44202072/error-retrieving-parent-for-item-no-resource-found-that-matches-the-given-name

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!