Je vois ce crash natif avec la trace de pile suivante.
Cela se produit uniquement sous Android 7.0 et 7.1. Rien de nouveau n'a été ajouté à l'application, qui est en production depuis quelques années, mais avec plus d'appareils mis à jour vers Nougat, ce crash se produit fréquemment maintenant et devient une nuisance.
Tout avis sera le bienvenu.
native: pc 000000000007a6c4 /system/lib64/libc.so (tgkill+8)
native: pc 0000000000077920 /system/lib64/libc.so (pthread_kill+64)
native: pc 000000000002538c /system/lib64/libc.so (raise+24)
native: pc 000000000001d24c /system/lib64/libc.so (abort+52)
native: pc 000000000001225c /system/lib64/libcutils.so (__android_log_assert+224)
native: pc 00000000000610e0 /system/lib64/libhwui.so
native: pc 000000000003908c /system/lib64/libhwui.so
native: pc 000000000003609c /system/lib64/libhwui.so
native: pc 000000000003b4fc /system/lib64/libhwui.so
native: pc 000000000003c520 /system/lib64/libhwui.so
native: pc 000000000003e694 /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+152)
native: pc 00000000000127f0 /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+336)
native: pc 00000000000a50b0 /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)
native: pc 00000000000770f4 /system/lib64/libc.so (_ZL15__pthread_startPv+204)
native: pc 000000000001e7d0 /system/lib64/libc.so (__start_thread+16)
Voici une liste des appareils concernés:
MISE À JOUR 7/18:
Je n'arrivais toujours pas à en comprendre la racine, j'ai donc décidé d'acheter un appareil qui avait le plus d'occurrences et dont le prix était raisonnable, qui s'est avéré être la version Samsung Galaxy J3 2017 avec Android 7.0. Malheureusement, je suis toujours incapable de reproduire le crash.
J'ai également apporté des améliorations à l'utilisation de la mémoire à l'application en production, mais le plantage se produit toujours.
D'après tous les commentaires et mes propres recherches, il semble être lié à des NDK liés dynamiquement, mais je n'en utilise aucun et il est difficile de savoir si l'une des dépendances le fait.
Je voudrais partager mes dépendances, ce serait formidable si d'autres personnes confrontées au même problème pouvaient appeler si elles utilisent l'une des mêmes dépendances - peut-être pouvons-nous repérer le coupable de cette façon.
// App Compat
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
// Play Services
compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'com.google.android.gms:play-services-maps:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.google.android.gms:play-services-appindexing:8.3.0'
compile 'com.google.android.gms:play-services-ads:8.3.0'
// Misc Libraries
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
compile files('app/libs/htmlcleaner-2.7.jar')
compile files('app/libs/protobuf-java-2.6.0.jar')
compile files('app/libs/nineoldandroids-2.4.0.jar')
// Fabric
compile('com.twitter.sdk.android:twitter:1.13.0@aar') { transitive = true; }
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { transitive = true; }
Pour les personnes confrontées au même plantage, veuillez répondre dans les commentaires si vous utilisez l'une de ces dépendances / versions. Peut-être pouvons-nous identifier le problème de dépendance.
Réponses:
En regardant la décharge que vous avez fournie, vous donnez quelques indices:
_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv
Cela indique que l'erreur s'est produite dans le thread d'interface utilisateur.
libhwui.so x 6
Cela indique que cela se produit au milieu de certains codes liés aux graphiques / ui.
libcutils.so - __android_log_assert
Il s'agit d'un gestionnaire d'assert, donc très probablement une sorte d'assert a été violée dans
libwhui
.avorter:
Il s'agit de l'application demandant à l'O / S de s'arrêter «anormalement».
rise + pthread_kill + tgkill: Il s'agit de l'O / S (Android) qui ferme l'application.
Vous pouvez voir de la documentation pour le débogage de ces types de plantages ici .
Quoi qu'il en soit, je crains qu'il soit vraiment difficile de spéculer au-delà de cette interprétation grossière et imprécise des données que vous avez présentées.
Peut-être que si vous attrapiez le bogue alors qu'il était attaché à la visionneuse de journal Android, vous auriez plus de données spécifiques à l'application (ou même un message d'erreur que la fonction d'assertion émet généralement).
Mon conseil est d'utiliser quelque chose comme ACRA pour retrouver tous les détails relatifs à l'erreur, ou pour récupérer un périphérique affecté et le reproduire lorsqu'il est connecté à un débogueur.
Bonne chance!
EDIT 16/06/2017 : Je veux juste ajouter quelques informations supplémentaires, commentaire de courtoisie de Fco P. Apparemment, Google a décidé de modifier les bibliothèques natives autorisées à fonctionner dans les dernières versions d'Android (7.x). Plus de détails sont dans ce lien .
la source
Ceci est signalé ici: https://issuetracker.google.com/issues/37123764
Pour reproduire: Obtenez un mode affecté, activez le mode développeur et définissez les activités d'arrière-plan sur 0. Activez également "Afficher les plantages d'arrière-plan".
Ensuite, ouvrez l'application et fermez-la à nouveau: vous verrez le plantage.
la source
Pas dans les commentaires (répétition insuffisante).
Parmi les dépendances que vous avez répertoriées, nous utilisons:
des versions différentes de la vôtre. Je soupçonne fortement que play-services-maps contient le bogue.
Peut-être que vous utilisez un fragment de carte dans viewpager comme nous le faisons et de nombreuses personnes en question déjà mentionnées par Koji Matsubara ( https://issuetracker.google.com/issues/37123764 )
la source
Je ne sais pas, peut-être ce problème comme le nôtre, peut-être différent, car je vois dans les dépendances y compris
carview
. Partagez ici l'espoir utile pour quelqu'un à l'avenirJ'ai également rencontré un problème sur Android 7.0 et 7.1 ci-dessous
Après recherche et recherche sur gooogle, j'ai remplacé
cardview
parFramelayout
puis ce problème a été résolula source
cardview
parFramelayout
là, ce problème a été résolu, ces problèmes ne se produisent que sur Android 7.xbecause I see in dependencies have including carview
ne semble pas correspondre à la questionJ'ai eu le même problème dans la console Google Play pour les mêmes appareils que vous.
Dans mon cas, le problème était dans TextureView avec une animation dans un fil séparé avec verrouiller et déverrouiller la toile.
J'ai changé l'animation TextureView en l'animation invalidate-onDraw pour Android 7 et 7.1 et cela a aidé.
la source
Je vois ce problème à partir d'un rapport de panne sur l'appareil d'un utilisateur - `` Huawei Honor 7X (HWBND-H) '' - exécutant Android 8.0. Comme cela ne se produit pas sur le terrain pour d'autres appareils / versions de système d'exploitation, je pense que cela a peut-être déjà été corrigé dans les mises à jour du système d'exploitation (que cet utilisateur n'a pas détecté, ou peut-être que Huawei n'a pas fourni).
la source