android - Facebook Account Kit 与 Google Play 服务 gradle 发生冲突

标签 android facebook-android-sdk facebook-account-kit

将account kit sdk配置为之后

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

gradle sync 它与 com.google.android.gms gradle 冲突,因为混合版本会导致运行时崩溃,而我的应用程序崩溃是因为

Firebase API initialization failure. java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at com.google.firebase.FirebaseApp.zza(Unknown Source) at ...

以上错误是由于混合了 google play services gradle(我认为 Google play services gradle 可能被 Facebook Account Kit SDK 使用),因为我对所有 Google play services gradle 都有相同的版本。

还有一次崩溃来自 Facebook Account Kit SDK 端

 java.lang.RuntimeException: Unable to get provider com.facebook.accountkit.internal.AccountKitInitProvider: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.PackageManager android.content.Context.getPackageManager()' on a null object reference
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:5260)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4808)
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4748)
                                                       at android.app.ActivityThread.access$1700(ActivityThread.java:153)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1436)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:154)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5529)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
                                                    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.PackageManager android.content.Context.getPackageManager()' on a null object reference
                                                       at com.facebook.accountkit.internal.Initializer.initialize(Initializer.java:99)
                                                       at com.facebook.accountkit.internal.AccountKitController.initialize(AccountKitController.java:592)
                                                       at com.facebook.accountkit.internal.AccountKitInitProvider.onCreate(AccountKitInitProvider.java:31)
                                                       at android.content.ContentProvider.attachInfo(ContentProvider.java:1758)
                                                       at android.content.ContentProvider.attachInfo(ContentProvider.java:1733)
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:5257)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4808) 
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4748) 
                                                       at android.app.ActivityThread.access$1700(ActivityThread.java:153) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1436) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:154) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5529) 
                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629) 

但是去掉之后

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

我的应用程序运行没有任何问题。 但是要将 Facebook Account Kit 集成到我的应用程序中,我必须包含与 Google Play 服务冲突的上述 gradle。

完全失望,请帮助。


将 Firebase Gradle 升级为之后

compile 'com.google.firebase:firebase-messaging:11.6.0'

它没有发生冲突,但仍然给出来自 Account Kit SDK 的上述 RuntimeException

最佳答案

要解决此问题,您可以执行以下操作

compile ('com.facebook.android:account-kit-sdk:4.27.0') {
        exclude group: 'com.google.android.gms', module: 'play-services-auth-api-phone'
        exclude group: 'com.google.android.gms', module: 'play-services-auth'
    }
    compile 'com.google.android.gms:play-services-auth:11.6.0'
    compile 'com.google.firebase:firebase-messaging:11.6.0'

这将从 Facebook 的 SDK 中删除陈旧的支持 gms 库,然后换入 Firebase 正在使用的相同版本的库。

关于android - Facebook Account Kit 与 Google Play 服务 gradle 发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47109870/

相关文章:

account-kit - 为 Facebook Account Kit 测试用户?

iOS:Firebase 和 facebook 帐户工具包登录

Android,是否有任何adwhirl selected ad loaded事件?

android - 如何解决 Facebook 工具 :replace ="android:theme"?

android - 发布与生成的不同的 apk Facebook 哈希 key

android - 从 Facebook 相册获取图片?

android - Facebook 帐户套件

java - Android 2.3 应用程序崩溃

Android Wear 2.0 从手机获取位置并保持设备在 Google Play 商店中的支持

c# - 适用于 Android 手机的点网应用程序