web-dev-qa-db-fra.com

Crashes et ANR sur Android Developer Console

Je viens de lancer récemment une application sur le Google Play Store, et j'explorais la console développeur et j'ai vu l'onglet pour Crashes and ANR.

Que signifie ANR?

De plus, mon application semble avoir déjà planté sur le téléphone de mon ami auparavant, mais il n'y avait aucun moyen pour eux de "signaler" de tels plantages. Comment dois-je activer ces fonctions pour que les utilisateurs signalent les plantages que je peux voir dans la console du développeur sous l'onglet Crashes/ANR?

31
lyk

ANR signifie Application Not Responding. Si votre application fait beaucoup de travail sur le thread d'interface utilisateur, vous verrez l'une de ces boîtes de dialogue de fermeture/attente forcée. C'est ANR.

En ce qui concerne les rapports de plantage, si votre application est distribuée via Google Play, le rapport de plantage est intégré. Lorsque votre application se bloque, l'utilisateur obtiendra une boîte de dialogue avec les options "Forcer la fermeture" ou "Rapport". L'utilisateur doit appuyer sur l'option Rapport pour vous envoyer le rapport de plantage, sinon vous ne le saurez peut-être jamais.

Si vous ne distribuez pas via Google Play, vous voudrez peut-être envisager une bibliothèque comme ACRA qui vous enverra des rapports d'erreurs par courrier électronique, les téléchargera dans une feuille de calcul Google Docs, ou vous pouvez écrire votre propre gestionnaire personnalisé pour traiter les rapports d'erreurs.

Les détails sur ACRA peuvent être trouvés ici: http://code.google.com/p/acra/

Vous trouverez ci-dessous un échantillon de l'apparence de ces boîtes de dialogue. Fermer/dialoguer les rapports à gauche et ANR à droite. Android 3.0+ est en haut avec les anciennes boîtes de dialogue en bas.

enter image description here

42
Michael Celey

Lorsqu'une application plante, une pierre tombale est générée. Essentiellement, votre application doit être consciente que certaines parties de celle-ci se sont écrasées (si vous comptez sur une API ou une bibliothèque qui fournit des rappels/état) mais si c'est vraiment juste votre application qui meurt - vous aurez un peu de mal à déterminer si elle s'est écrasée ou ne pas.

Le "rapport d'erreurs" n'est pas une classe prédéfinie que vous pouvez utiliser dans Android, et vous devrez peut-être en lancer une de votre choix. Là encore, il y a ACRA - http://acra.ch/

quelques liens:

http://Android-developers.blogspot.com/2010/05/google-feedback-for-Android.html

http://developer.Android.com/distribute/googleplay/strategies/app-quality.html

4
Shark