添加 facebook 依赖项后出现致命错误

Fatal Error After adding facebook dependencies

在我的应用程序中,我添加了以下依赖项以开始解决 facebook API 在我的代码中稍微晚一点。

compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.facebook.android:audience-network-sdk:4.+'
compile 'com.facebook.android:account-kit-sdk:4.+'

但是当我添加这些依赖项并且我的应用程序中没有其他东西时 code.my 应用程序开始在启动时崩溃。

java.lang.RuntimeException: Unable to get provider com.facebook.accountkit.internal.AccountKitInitProvider: 500: 
Initialization error: 503: 
The Client Token must be specified in the string resource file as com.facebook.accountkit.ClientToken

       at android.app.ActivityThread.installProvider(ActivityThread.java:4911)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4503)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4443)
       at android.app.ActivityThread.access00(ActivityThread.java:139)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1268)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:136)
       at android.app.ActivityThread.main(ActivityThread.java:5135)
       at java.lang.reflect.Method.invokeNative(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
       at dalvik.system.NativeStart.main(Native Method)
    Caused by: 500: Initialization error: 503: The Client Token must be specified in the string resource file as com.facebook.accountkit.ClientToken
       at com.facebook.accountkit.internal.Initializer.getRequiredString(Initializer.java:225)
       at com.facebook.accountkit.internal.Initializer.initialize(Initializer.java:115)
       at com.facebook.accountkit.internal.AccountKitController.initialize(AccountKitController.java:540)
       at com.facebook.accountkit.internal.AccountKitInitProvider.onCreate(AccountKitInitProvider.java:31)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:1616)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:1587)
       at android.app.ActivityThread.installProvider(ActivityThread.java:4908)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4503) 
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4443) 
       at android.app.ActivityThread.access00(ActivityThread.java:139) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1268) 
       at android.os.Handler.dispatchMessage(Handler.java:102) 
       at android.os.Looper.loop(Looper.java:136) 
       at android.app.ActivityThread.main(ActivityThread.java:5135) 
       at java.lang.reflect.Method.invokeNative(Native Method) 
       at java.lang.reflect.Method.invoke(Method.java:515) 

已编辑: 我还在 Menifest 后面添加了

<provider
    android:name="com.facebook.FacebookContentProvider"
    android:authorities="com.facebook.app.FacebookContentProvider******"
    android:exported="true" />
<meta-data
    android:name="com.facebook.sdk.ApplicationId"
    android:value="@string/fbAppId" />

在我的申请中 class

 @Override
 public void onCreate() {
     super.onCreate();

     FacebookSdk.sdkInitialize(getApplicationContext());
     if (BuildConfig.DEBUG) {
         FacebookSdk.setIsDebugEnabled(true);
         FacebookSdk.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
     }
 }

但仍然崩溃不知道这个错误是从哪里来的?但是,当我删除这些依赖项时,我的代码运行正常。

The Client Token must be specified in the string resource file as com.facebook.accountkit.ClientToken

它清楚地表明您必须在清单文件中包含 com.facebook.accountkit.ClientToken 及其标记

添加

<meta-data 
    android:name="com.facebook.accountkit.ClientToken"
    android:value="@string/ACCOUNT_KIT_CLIENT_TOKEN" />

在您的 Menifest 文件中。

更多信息请访问https://developers.facebook.com/docs/accountkit/android