Android 上的 React Native Facebook SDK 初始化

React Native Facebook SDK Initialization on Android

我正在将 Faecbook SDK 集成到现有的 react-native 项目中并遇到可怕的错误:The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.

我已经仔细按照说明操作,所以strings.xml包含:

<string name="facebook_app_id">xxxxx</string>

而在 AndroidManifest.xml 中,在应用程序元素内,我有

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

我已按照说明对 settings.gradle 和 build.xml 进行了更改。

所有说明都说,如果我已经完成上述操作,则不需要调用 FacebookSdk.sdkInitialize()。我正在使用 react-native-fbsdk 版本 1.1.1 和 react native 0.60.5

当我按照一个简单的新 react-native 项目的说明进行操作时,它起作用了,所以我想知道它是否与应用程序中的某些内容发生冲突,但我不确定要查找什么。谁能建议如何调试?

谢谢。

如果它对其他人有帮助,我找到了罪魁祸首,方法是创建一个带有 fbsdk 集成的 vanilla react-native 应用程序,并从我的真实应用程序中煞费苦心地复制配置,直到 facebook 集成停止工作。

事实证明,从 AndroidManifest.xml 中的应用程序元素中删除 tools:node="replace" 解决了问题。

<application
 ...
 tools:node="replace">

(我不确定为什么要添加此属性,添加它的开发人员的 git 提交消息很神秘,应用程序似乎在没有它的情况下仍能正常工作...)