React Native Android应用程序要求调用已弃用的' FacebookSdk.sdkInitialize'

时间:2017-08-24 17:18:53

标签: android react-native facebook-android-sdk

React-Native v.4.7.2 react-native-fbsdk v.6.0.0 / 0.6.1

我需要为应用程序获取Facebook登录设置。这在Android上是一场真正的挣扎。当您通过Facebook文档(here然后通过快速入门)安装并运行您的程序时,这是弹出的第一个错误:

/Users/Parthenon/Desktop/go3/android/app/build/intermediates/res/merged/debug/values-v24/values-v24.xml
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
Error:(4) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
Error:(4) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

根据thread我已尝试在react-native-fbsdk gradle中明确说明版本:

compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.facebook.android:facebook-android-sdk:4.22.1'
compile 'com.facebook.android:facebook-android-sdk:4.23.0'

除版本4.22.1以外的任何内容我都会收到上述错误。对于版本4.22.1,项目构建很棒,但随后它会抛出错误:

The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.

这很奇怪,因为FacebookSdk.sdkInitialize()4.22之前已被弃用。如果我调用该方法应用程序运行然后崩溃。但它没有错误日志崩溃。

这里发生了什么,或者接下来应该尝试什么?

1 个答案:

答案 0 :(得分:-1)

我遇到了同样的问题,我意识到我必须完成所有步骤以为Android配置本机Facebook sdk。这意味着您需要为此工作拥有一个Facebook帐户。 接下来,您需要做的是:

  1. 在您的项目中打开yourapp/android/build.gradle

  2. 在依赖项之前将Maven中央存储库添加到build.gradle:

    repositories { mavenCentral() }

  3. compile 'com.facebook.android:facebook-android-sdk:[4,5)'添加到您的build.gradle依赖项中

  4. 构建项目

  5. 打开您的strings.xml文件,例如:/app/src/main/res/values/strings.xml.并添加<string name="facebook_app_id">xxxxxxxx</string>

  6. 打开您的AndroidManifest.xml并添加<uses-permission android:name="android.permission.INTERNET"/>

  7. 将meta添加到应用程序元素<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

  8. 生成开发密钥哈希

您可以在开发者Facebook页面的快速入门(developers.facebook.com/quickstarts/)中看到详细信息