hashes - Facebook Sdk Android Error Building
facebook sdk android login (6)
Acabo de encontrar este error. En primer lugar, RN Facebook SDK v.0.6.0 solo funciona para react-native >= 0.44.0
, por lo que debe actualizar su dependencia en package.json
para react-native: ^0.44.0
. Luego ve al archivo build.gradle
Android y haz los cambios: compileSdkVersion 25
y compile "com.android.support:appcompat-v7:25.0.0"
Estoy tratando de construir mi proyecto react-native y usar react-native fbsdk.
Sin embargo, obtengo estos errores:
/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
Mi sistema operativo actual es Linux Elementary 0.4.1 Loki x64.
Estoy usando [email protected] y, debido a esto, [email protected].
Ya lo intenté:
cd android && ./gradlew clean
borre el proyecto y vuelva a
npm install
y prueba en la API de Android 23 y 24.
Aparentemente Facebook ha actualizado su sdk yesterday y el último (4.23.0) sdk puede tener un error o algo así.
Puede resolver esto cambiando sus node_modules / react-native-fbsdk / android / build.gradle desde:
compile(''com.facebook.android:facebook-android-sdk:4.+'')
A:
compile(''com.facebook.android:facebook-android-sdk:4.22.1'')
No soy un tipo gradle, así que si alguien sabe de una forma mejor de forzar la versión del padre gradle.build, por favor comenten y actualizaré la respuesta.
** EDIT **
@Andreyco logró resolver esto sin cambiar node_modules. Puede desplazarse hacia abajo hasta su respuesta o hacer clic here .
Además, según lo notificado por @JuanJoseTugores, hay una solicitud de extracción en react-native-fbsdk espera ser aprobada, por lo que puede verificar el progreso del error y recibir una notificación cuando se resuelva.
** Otra actualización **
Facebook cerró el bug que se abrió para ellos con respecto a este problema, diciendo que arreglaron el SDK. Entonces ahora se pueden eliminar todas las soluciones.
Aparentemente, FB aún no resolvió esto. Acabamos de actualizar a RN 0.44 y FB 0.6.0
Como puedes ver aquí, hay parches entrantes,
https://github.com/facebook/react-native-fbsdk/pull/339 https://github.com/facebook/react-native-fbsdk/pull/338
Mientras tanto, si estás utilizando reaccionar-nativo-fbsdk v0.5 podrías hacer
yarn add react-native-fbsdk@https://github.com/tugorez/react-native-fbsdk
Apliqué los cambios sugeridos y está funcionando :) pero tenga en cuenta que no lo apoyaré y no lo mantendré actualizado así que ... tan pronto como pueda debería volver a la biblioteca oficial.
Después de excavar en Gradle, se me ocurrió la siguiente solución.
La clave es excluir facebook-android-sdk
requerido por react-native-fbsdk
y obtener la versión deseada (de trabajo) en el módulo facebook-android-sdk
, preferiblemente sin modificar nada en la carpeta node_modules.
Afortunadamente, Gradle ofrece esto.
// 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"
}
Para aquellos que buscan hacerlo funcionar usando RN 0.42, que ahora es el que tiene la versión de reacción estable, es posible que necesites usar Facebook SDK 4.18.0 "com.facebook.android:facebook-android-sdk:4.18.0"
que fue el que se lanzó cuando se lanzó [email protected]
; de lo contrario, es posible que termine con el problema: https://developers.facebook.com/bugs/1712442065726889/
Además, si está pasando por un momento difícil para forzar que el sdk de Facebook sea lo que necesita, intente esto:
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''
}
}
}
}
Pude resolver esto sin modificar archivos bajo node_modules/...
react-native-fbsdk
versión react-native-fbsdk
a 0.6.0
y luego agregamos esto al archivo build.gradle
nuestra aplicación para build.gradle
facebook-android-sdk
en la versión 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''
...
}
}
Editar : estamos construyendo con:
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
...
}