簡體   English   中英

添加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.+'

但是當我在應用程序代碼中添加了這些依賴關系並且沒有其他內容時,我的應用程序在啟動時開始崩潰。

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.access$1500(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.access$1500(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) 

編輯:我還在后期清單中添加了

<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" />

在我的應用程序類中

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

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

但是它仍然崩潰了不知道這個錯誤是從哪里來的? 但是,當我刪除這些依賴項時,我的代碼運行良好。

客戶端令牌必須在字符串資源文件中指定為com.facebook.accountkit.ClientToken

它明確表示您必須在清單文件中包含com.facebook.accountkit.ClientToken及其令牌

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

在您的清單文件中。

有關更多信息,請訪問https://developers.facebook.com/docs/accountkit/android

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM