Facebook SDK 4.10上的NPE:尝试在空对象引用

时间:2016-03-13 10:44:29

标签: android facebook nullpointerexception

背景

最近我们将Facebook SDK库更新为4.10(来自here)。

在此之前,我们偶尔会遇到同样的错误,但现在看起来它经常发生。

问题

我们无法理解它发生的位置和原因。

这是崩溃日志:

  

致命异常:java.lang.NullPointerException:尝试调用   接口方法'java.lang.Object com.facebook.inject.Lazy.get()'on   空对象引用          在android.os.Parcel.readException(Parcel.java:1552)          在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)          在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)          在android.content.ContentProviderProxy.query(ContentProviderNative.java:421)          在android.content.ContentResolver.query(ContentResolver.java:494)          在android.content.ContentResolver.query(ContentResolver.java:429)          at com.facebook.internal.NativeProtocol.fetchAllAvailableProtocolVersionsForAppInfo(NativeProtocol.java:790)          at com.facebook.internal.NativeProtocol.access $ 000(NativeProtocol.java:49)          at com.facebook.internal.NativeProtocol $ NativeAppInfo.fetchAvailableVersions(NativeProtocol.java:281)          at com.facebook.internal.NativeProtocol $ NativeAppInfo.access $ 600(NativeProtocol.java:226)          at com.facebook.internal.NativeProtocol $ 1.run(NativeProtocol.java:763)          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)          at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:587)          在java.lang.Thread.run(Thread.java:818)

而且,既然这是Crashlytics的一份报告,我也有一些统计数据:

  • 通常(90%)发生在魅族设备上,其余部分发生在LG,三星和其他设备上。
  • 通常(72%)出现在Android 5.1版本上,其余版本出现在我们支持的所有其他版本上(4.x及以上版本)。

我尝试了什么

我尝试搜索异常,但我找不到与它相似的任何内容。

我试图找到“com.facebook.inject.Lazy”类,但这是无处可寻的。我甚至找不到注入相关的类和repos sdk用于正常使用。仅适用于单元测试。

我还试图去Facebook的Github网站(here),但没有地方可以写。

后来我发现这是在Facebook's developers website上报告的,但它似乎没有被修复,也没有人知道如何处理它。

编辑:现在我找到了this Facebook post,这说明可能是因为使用了旧版本的Facebook应用程序,但似乎这是不正确的。

问题

为什么会发生?这有什么解决方法吗? Facebook是否正在解决此问题?

是否有任何版本的Facebook SDK未发生此问题?

最重要的是,如何处理和修复?

1 个答案:

答案 0 :(得分:0)

请使用更新的facebook sdk来克服此错误。老sdk有一些问题。 你可以从

下载最新的sdk

https://developers.facebook.com/docs/android