web-dev-qa-db-fra.com

Facebook Sdk Android Erreur Création

J'essaie de construire mon projet react-native et d'utiliser fbsdk de réact-native.

Cependant, j'obtiens ces erreurs:

/home/luiz/MYP/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'.

/home/luiz/MYP/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'.

/home/luiz/MYP/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'.

/home/luiz/MYP/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'.


:react-native-fbsdk:processReleaseResources FAILED

Mon système d'exploitation actuel est Linux Elementary 0.4.1 Loki x64.

J'utilise [email protected] et, pour cette raison, [email protected].

J'ai déjà essayé:

  • cd Android && ./gradlew clean

  • supprimer le projet et re npm install il

  • et essayez dans Android.

41
Luiz

Après avoir approfondi mes connaissances, j'ai proposé la solution suivante.

La clé est d'exclure facebook-Android-sdk requis par react-native-fbsdk et tirez la version souhaitée (de travail) sur facebook-Android-sdk module - de préférence sans rien modifier dans le dossier node_modules.

Heureusement, Gradle offre cela.

// Android/app/build.gradle

dependencies {
    compile(project(':react-native-fbsdk')){
      exclude(group: 'com.facebook.Android', module: 'facebook-Android-sdk')
    }
    compile "com.facebook.Android:facebook-Android-sdk:4.22.1"
}
27
Andreyco

Apparemment, facebook a mis à jour son sdk hier et le dernier sdk (4.23.0) peut avoir un bogue ou quelque chose du genre.

Vous pouvez résoudre ce problème en modifiant vos node_modules\react-native-fbsdk\Android\build.gradle à partir de:

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

À:

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

Je ne suis pas un gars de Gradle, donc si quelqu'un connaît un meilleur moyen de forcer la version parent de gradle.build, veuillez commenter et je mettrai à jour la réponse.

** [~ # ~] éditer [~ # ~] **

@Andreyco a réussi à résoudre ce problème sans changer de node_modules. Vous pouvez faire défiler sa réponse ou cliquer ici .

De plus, comme l'a annoncé @JuanJoseTugores, il y a un demande d'extraction dans react-native-fbsdk en attente d'approbation, afin que vous puissiez vérifier la progression du bogue et être averti de sa résolution.

** Une autre mise à jour **
Facebook a fermé le bug qui avait été ouvert pour eux concernant ce problème, affirmant qu'ils avaient corrigé le SDK. Alors maintenant, toutes les solutions de contournement peuvent être supprimées.

Apparemment, FB n'a toujours pas résolu ce problème. Nous venons de passer à RN 0.44 & FB 0.6.0

52
atlanteh

J'ai pu résoudre ce problème sans modifier les fichiers sous node_modules/.... J'ai amélioré notre react-native-fbsdk version à 0.6.0 puis ajoutez ceci à notre application build.gradle fichier à épingler facebook-Android-sdk à la version 4.22.1:

project(':react-native-fbsdk') {
    configurations.all {
        resolutionStrategy {
            force 'com.facebook.Android:facebook-Android-sdk:4.22.1'
        }
    }
}

configurations.all {
    resolutionStrategy {
        force 'com.facebook.Android:facebook-Android-sdk:4.22.1'
        ...
    }
}

Edit: Nous construisons avec:

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    ...
}
11
rtcherry

Je viens de rencontrer cette erreur. Premièrement, RN Facebook SDK v.0.6.0 ne fonctionne que pour react-native >= 0.44.0, vous devez donc mettre à jour votre dépendance dans package.json à react-native: ^0.44.0. Ensuite, allez à Android build.gradle file et apporte les modifications suivantes: compileSdkVersion 25 et compile "com.Android.support:appcompat-v7:25.0.0"

5
hphp95

this corrigé pour moi

dans Android/build.gradle

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("Android")) {
            Android {
                compileSdkVersion 27
                buildToolsVersion '27.0.3'
            }
        }
    }
}
5
David Rearte

Pour ceux qui cherchent, faites-le fonctionner en utilisant RN 0.42 , qui est maintenant celui avec la version réactive stable, vous devrez peut-être utiliser le Facebook SDK 4.18.0 "com.facebook.Android:facebook-Android-sdk:4.18.0" qui est celui qui a été publié au moment où [email protected] a été publié, sinon vous risquez de vous retrouver avec le problème suivant: https://developers.facebook.com/bugs/1712442065726889/

En outre, si vous avez du mal à forcer le sdk de facebook à être ce dont vous avez besoin, essayez ceci:

Android/app/build.gradle

...

dependencies {
    compile project(':react-native-fbsdk')
    compile project(':react-native-vector-icons')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.Android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
    compile "com.facebook.Android:facebook-Android-sdk:[4.18.0)"
}

Android/build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

project(':react-native-fbsdk') {
  configurations.all {
    resolutionStrategy {
      force 'com.facebook.Android:facebook-Android-sdk:4.18.0'
    }
  }
}

...

allprojects {
    repositories {
        ...
        configurations.all {
            resolutionStrategy {
              force 'com.facebook.Android:facebook-Android-sdk:4.18.0'
            }
        }
    }
}
4
Alexis Duran

Comme vous pouvez le voir ici, il y a des patchs entrants,

https://github.com/facebook/react-native-fbsdk/pull/339https://github.com/facebook/react-native-fbsdk/pull/338

en attendant, si vous utilisez react-native-fbsdk v0.5 vous pourriez faire

yarn add react-native-fbsdk@https://github.com/tugorez/react-native-fbsdk

J'ai appliqué les modifications suggérées et cela fonctionne :) mais sachez que je n'appuierai pas cela et que je ne le maintiendrai pas à jour donc ... dès que vous pourrez, vous devriez retourner à la bibliothèque officielle.

1