NPE na Facebooku SDK 4.10: próba wywołania metody interfejsu ' java.lang.Obiekt com.facebook.wstrzyknąć.Leniwy.get()' na zerowym odnośniku do obiektu
Tło
Ostatnio zaktualizowaliśmy bibliotekę SDK Facebooka do 4.10 (stąd).
wcześniej mieliśmy ten sam błąd od czasu do czasu, ale teraz wydaje się, że występuje znacznie częściej.
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.równoległe.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java: 1112) w języku java.util.równoległe.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java: 587) w języku java.lang.Nić.run (Gwint.java:818)
a ponieważ jest to raport z Crashlytics, mam też kilka statystyk:
- Zwykle (90%) występuje na urządzeniach Meizu, a reszta na LG, Samsung i innych.
- Zwykle (72%) występuje w wersjach Androida 5.1, a reszta we wszystkich innych wersjach, które obsługujemy (4.x i wyżej).
co próbowałem
próbowałem szukać wyjątku, ale nie mogę znaleźć niczego podobnego.
próbowałem znaleźć “kom.facebook.wstrzyknąć.Leniwa ” Klasa, ale tego nigdzie nie można znaleźć. Nie mogę nawet znaleźć klas związanych z wtryskiem i repo, których sdk używa do normalnego użytkowania. Tylko do testów jednostkowych.
próbowałem też wejść na stronę Github na Facebooku (tutaj), ale nie ma gdzie tam pisać.
później dowiedziałem się , że to było zgłaszane na stronie deweloperów Facebooka, ale nie wydaje się, że to będzie naprawione, i nikt nie wie, jak sobie z tym poradzić.Facebooka, który mówi, że może to być spowodowane używaniem starej wersji aplikacji na Facebooku, ale wydaje się, że jest nieprawidłowy.
pytanie
dlaczego tak się dzieje? Czy jest jakieś obejście tego problemu? Czy Facebook pracuje nad poprawką?
czy jest jakaś wersja SDK Facebooka, że ten problem nie występuje?
i, co najważniejsze, jak można go obsługiwać i naprawiać?