首页 > 解决方案 > Facebook sdk 11.0.0 导致 android 崩溃

问题描述

环境

为了解决Unity导致的android崩溃问题,我将我的Unity从2019.4.29f1升级到2019.4.30f1。不幸的是,这一次我发现了一个新的崩溃问题。此问题的详细信息如下:

Caused by java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter args
       at com.facebook.appevents.iap.InAppPurchaseBillingClientWrapper$BillingClientStateListenerWrapper.invoke(:12)
       at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
       at $Proxy2.onBillingServiceDisconnected()
       at com.android.billingclient.api.zzah.onServiceDisconnected(com.android.billingclient:billing@@3.0.3:4)
       at android.app.LoadedApk$ServiceDispatcher.doDeath(LoadedApk.java:1811)
       at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1826)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:205)
       at android.app.ActivityThread.main(ActivityThread.java:6991)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)

根据Firebase Crashlytics仪表盘上提供的信息,所有的crash都发生在后台,而且大部分发生在Android 11上。经过分析信息,似乎crash发生在onBillingServiceDisconnected事件的回调上(com.facebook. appevents.iap.InAppPurchaseBillingClientWrapper$BillingClientStateListenerWrapper.invoke)。由于我没有 Android 11 设备,所以无法重现此崩溃,也不知道如何重现。现在 onServiceDisconnected 事件,你有什么建议吗?

标签: androidfacebookunity3dsdkcrash

解决方案


尝试更改您在 Facebook 依赖项中的依赖项

<androidPackage spec="com.facebook.android:facebook-core:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-applinks:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-login:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-share:[11.0, 12)" />
<androidPackage spec="com.facebook.android:facebook-gamingservices:[11.0, 12)" />

<androidPackage spec="com.facebook.android:facebook-core:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-applinks:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-login:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-share:[11.0, 11.3)" />
<androidPackage spec="com.facebook.android:facebook-gamingservices:[11.0, 11.3)" />

作为临时解决方案,它将起作用


推荐阅读