Arrière-plan
Récemment, nous avons mis à jour le Facebook SDK bibliothèque à 4.10 (à partir d' ici).
Avant, nous avons eu le même bug maintenant et puis, mais maintenant il semble qu'il se produit beaucoup plus souvent.
Le problème
Il n'y a aucun moyen pour nous de comprendre où et pourquoi il se produit.
Voici le rapport de crash:
Fatal Exception: java.lang.NullPointerException: Essayez d'appeler la méthode de l'interface " java.lang.Objet com.facebook.injecter.Paresseux.get()' sur une référence d'objet nul au android.os.La parcelle.readException(Colis.java:1552) au android.la base de données.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190) au android.la base de données.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142) au android.contenu.ContentProviderProxy.requête(ContentProviderNative.java:421) au android.contenu.ContentResolver.requête(ContentResolver.java:494) au android.contenu.ContentResolver.requête(ContentResolver.java:429) au com.facebook.internal.NativeProtocol.fetchAllAvailableProtocolVersionsforappinfo(NativeProtocol.java:790) au com.facebook.interne.NativeProtocol.l'accès$000(NativeProtocol.java:49) au com.facebook.interne.NativeProtocol$NativeAppInfo.fetchAvailableVersions(NativeProtocol.java:281) au com.facebook.interne.NativeProtocol$NativeAppInfo.l'accès à 600$(NativeProtocol.java:226) au com.facebook.interne.NativeProtocol$1.exécuter(NativeProtocol.java:763) à java.util.de façon concomitante.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) à java.util.de façon concomitante.ThreadPoolExecutor$Travailleur.exécuter(ThreadPoolExecutor.java:587) à java.lang.Fil de discussion.exécution(Thread.java:818)
Et, depuis, c'est un rapport de Crashlytics, j'ai aussi quelques statistiques:
- en général (90%) se produit sur Meizu appareils, et le reste sur le LG, Samsung et autres.
- généralement (72%) se produit sur Android 5.1 versions, et le reste sur toutes les autres versions de support (4.x et au-dessus).
Ce que j'ai essayé
J'ai essayé de chercher de l'exception, mais je ne peux pas trouver quoi que ce soit de semblable.
J'ai essayé de trouver le com.facebook.injecter.Paresseux" de la classe, mais ce n'est nulle part pour être trouvée. Je ne peux même pas trouver d'injection de classes et de repos que le sdk utilise pour l'utilisation normale. Seulement pour l'unité des tests.
J'ai aussi essayé d'aller à la Github site web de Facebook (ici), mais il n'est nulle part pour y écrire.
Plus tard, j'ai trouvé que cela a été rapporté sur le Facebook du site pour les développeurs , mais il ne semble pas que ça va être corrigé, et personne ne sait comment le gérer.
EDIT: maintenant que j'ai trouvé ce Facebook post, qui dit qu'il pourrait être en raison de l'utilisation d'une ancienne version de Facebook app, mais il semble que c'est incorrect.
La question
Pourquoi faut-il se produire? Est-il une solution pour cela? Ne Facebook travailler sur un correctif pour cela?
Est-il une version de Facebook SDK que ce problème ne se produit pas?
Et, plus important encore, Comment peut-il être manipulés et fixe?