NPE na Facebook SDK 4.10: pokus vyvolat metodu rozhraní ' java.lang.Objekt com.přítel.aplikovat.Líný.get ()' na null objekt reference
pozadí
Nedávno jsme aktualizovali Facebook SDK knihovnu 4.10 (odtud).
dříve jsme měli tu a tam stejnou chybu, ale nyní se zdá, že se vyskytuje mnohem častěji.
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.souběžný.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Jáva: 1112) v Jávě.util.souběžný.ThreadPoolExecutor$Pracovník.běh (ThreadPoolExecutor.Jáva: 587) v Jávě.lang.Vlákno.běh (vlákno.java:818)
A protože je to zpráva z Crashlytics, mám také nějaké statistiky:
- obvykle (90%) dochází na Meizu zařízení, a zbytek na LG, Samsung a další.
- obvykle (72%) se vyskytuje ve verzích Android 5.1 a zbytek ve všech ostatních verzích, které podporujeme (4.x a výše).
co jsem se snažil
snažil jsem se hledat výjimku,ale nemohu najít nic podobného.
snažil jsem se najít ” com.přítel.aplikovat.Lazy ” třída, ale to není nikde k nalezení. Nemohu ani najít třídy související s injekcí a repos, které sdk používá pro běžné použití. Pouze pro testování jednotek.
také jsem se pokusil jít na web GitHub Facebook (zde), ale není tam kam psát.
později jsem zjistil, že to bylo hlášeno na webových stránkách vývojářů Facebook, ale nezdá se, že to bude opraveno a nikdo neví, jak s tím zacházet.
upravit: nyní jsem našel tento Facebook příspěvek, který říká, že to může být kvůli použití staré verze aplikace Facebook, ale zdá se, že je to nesprávné.
otázka
proč se vyskytuje? Existuje nějaké řešení pro toto? Má Facebook pracovat na opravu pro toto?
existuje nějaká verze Facebook SDK, že k tomuto problému nedochází?
a co je nejdůležitější, jak s ním lze zacházet a opravit?