NPE auf Facebook SDK 4.10: Versuch, die Schnittstellenmethode ' java aufzurufen.lang.Objekt com.Facebook.injizieren.Faul.get()' auf einer Null-Objektreferenz
Hintergrund
Kürzlich haben wir die Facebook SDK-Bibliothek auf 4.10 aktualisiert (von hier).
Früher hatten wir hin und wieder den gleichen Fehler, aber jetzt scheint es, dass er viel häufiger auftritt.
The problem
There is no way for us to understand where and why it occurs.
Here’s the crash log:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke interface method ‘java.lang.Object com.facebook.inject.Lazy.get()’ on a null object reference at android.os.Parcel.readException(Parcel.java:1552) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142) at android.content.ContentProviderProxy.query(ContentProviderNative.java:421) at android.content.ContentResolver.query(ContentResolver.java:494) at 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.gleichzeitig.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) bei Java.util.gleichzeitig.ThreadPoolExecutor $Arbeiter.führen Sie(ThreadPoolExecutor.java:587) bei Java.lang.Thread.ausführen(Thread.java:818)
Und da es sich um einen Bericht von Crashlytics handelt, habe ich auch einige Statistiken:
- normalerweise (90%) tritt auf Meizu-Geräten auf, der Rest auf LG, Samsung und anderen.
- Normalerweise (72%) tritt bei Android 5.1-Versionen auf, und der Rest bei allen anderen Versionen, die wir unterstützen (4.x und höher).
Was ich versucht habe
Ich habe versucht, nach der Ausnahme zu suchen, aber ich kann nichts Ähnliches finden.
Ich habe versucht, die “com.Facebook.injizieren.Lazy” Klasse, aber das ist nirgends zu finden. Ich kann nicht einmal Injection-bezogene Klassen und Repos finden, die das SDK für den normalen Gebrauch verwendet. Nur für Unit-Tests.
Ich habe auch versucht, auf die Github-Website von Facebook (hier) zu gehen, aber es gibt nirgendwo etwas zu schreiben.
Später habe ich festgestellt, dass dies auf der Entwickler-Website von Facebook gemeldet wurde , aber es scheint nicht, dass es behoben wird, und niemand weiß, wie er damit umgehen soll.Facebook-Post
BEARBEITEN: Jetzt habe ich diesen Facebook-Post gefunden, der besagt, dass er möglicherweise auf die Verwendung einer alten Version der Facebook-App zurückzuführen ist, aber es scheint, dass er falsch ist.
Die Frage
Warum tritt es auf? Gibt es einen Workaround dafür? Arbeitet Facebook an einer Lösung dafür?
Gibt es eine Version des Facebook SDK, bei der dieses Problem nicht auftritt?
Und vor allem, Wie kann es gehandhabt und behoben werden?