2017-01-28 64 views
0

在我的應用程序後,我增加了以下的依賴在我的代碼開始圍繞Facebook的API的工作有點後者。致命錯誤添加Facebook的依賴

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.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)  

編輯: 我也加入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" /> 

在我的應用程序類

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

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

但仍是其崩潰不知道這個錯誤出現從?但是,當我刪除這些依賴關係我的代碼運行良好。

+0

這個錯誤不是由依賴造成的。錯誤是在這行'android:value =「@ string/fbAppId」'。也許你沒有使用你爲你的項目生成的Facebook API密鑰。 –

回答

1

客戶令牌必須在字符串資源文件中指定爲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

+0

呃我看到它在文檔中,但現在它是工作的罰款天前其實我早就約2添加這些依賴半月之前的應用程序運行良好,但它突然開始崩潰。 –

+0

這是迷人的。試着添加這個標籤,看看它是否有效。我相信你有ACCOUNT_KIT_CLIENT_TOKEN壽。 –

+0

它的工作,你才救了我的一天謝謝:)但是,一天跑酷。我想我可能已經錯過了somethind –