Si votre application est téléchargée par d'autres personnes et se bloque sur des appareils distants, vous pouvez consulter une bibliothèque de rapports d'erreurs Android (référencée dans cet article SO ). Si c'est juste sur votre propre appareil local, vous pouvez utiliser LogCat.
Même si l'appareil n'était pas connecté à une machine hôte lorsque la panne s'est produite, la connexion de l'appareil et l'exécution d'une adb logcat
commande téléchargeront l'intégralité de l'historique de Logcat (au moins dans la mesure où il est mis en mémoire tampon, ce qui est généralement un loooot de données de journal, ce n'est tout simplement pas infini). L'une de ces options répond-elle à votre question? Sinon, pouvez-vous essayer de clarifier ce que vous recherchez un peu plus?
adb logcat
partir du répertoire dans lequel adb se trouve. Vous pouvez également utiliser les outils SDK inclus dans le plugin Eclipse$SDK_DIR/platform-tools/
. Pour afficher l'erreur:.\adb.exe logcat -v time *:E
La façon de faire est d'implémenter l'
Thread.UncaughtExceptionHandler
interface et de la transmettreThread.setDefaultUncaughtExceptionHandler()
au début de votre activitéonCreate()
. Voici la classe d'implémentationTopExceptionHandler
.Remarque Nous laissons le defaultUEH du framework Android le gérer.
En haut de votre activité, enregistrez une instance de la classe ci-dessus comme celle-ci:
Ce gestionnaire enregistre la trace dans un fichier. Quand
ReaderScope
redémarrage suivant, il détecte le fichier et demande à l'utilisateur s'il souhaite l'envoyer par e-mail au développeur.Pour envoyer le suivi de la pile par e-mail, exécutez le code suivant pour le regrouper dans un e-mail.
Ou vous pouvez également utiliser ACRA Error Reporting System.Incluez simplement le fichier ACRA.jar dans vos bibliothèques de projet et utilisez l'extrait de code ci-dessous avant la déclaration de la classe d'activité du lanceur.
ou vous pouvez essayer ceci depuis la console: -
la source
Cela provient de http://www.herongyang.com/Android/Debug-adb-logcat-Command-Debugging.html
Vous pouvez utiliser adb:
la source
Vous pouvez essayer ceci depuis la console:
Plus d'informations sur cette option:
la source
Si vous utilisez Eclipse, assurez-vous d'utiliser le débogage et de ne pas l'exécuter. Assurez-vous que vous êtes dans la perspective de débogage (en haut à droite). Vous devrez peut-être appuyer sur «Reprendre» (F8) plusieurs fois pour que le journal s'imprime. Le journal des pannes sera dans la fenêtre Logcat en bas - double-cliquez pour le plein écran et assurez-vous de faire défiler vers le bas. Vous verrez du texte rouge pour les erreurs, la trace de crash sera quelque chose comme
Les parties importantes pour celui-ci sont
ceux-ci nous disent que c'était une exception de tableau hors limites sur la ligne 13 de main.java dans la méthode onCrate.
la source
Vous pouvez utiliser Apphance. Il s'agit d'un service multiplateforme (maintenant principalement Android, iOS avec d'autres plates-formes en route) qui permet de déboguer à distance n'importe quel appareil mobile (Android, iOS maintenant - d'autres en cours de développement). C'est bien plus qu'un simple journal de crash, en fait c'est bien plus: journalisation, rapport de problèmes par les testeurs, crashlogs. L'intégration prend environ 5 minutes. Actuellement, vous pouvez demander l'accès à la version bêta fermée.
Disclaimer: Je suis CTO de Polidea, une entreprise derrière Apphance et co-créateur de celui-ci.
Mise à jour: Apphance n'est plus en version bêta fermée! Mise à jour 2: Apphance est disponible dans le cadre de l' offre http://applause.com
la source
libs
répertoire comme l' explique cette réponse SO. Ce commit github montre les modifications que je devais apporter à mon application WorldMap pour utiliser apphance.Voici une autre solution pour Crash Log.
Android Market a un outil nommé "Crash Collector"
consultez le lien suivant pour plus d'informations
http://kpbird.blogspot.com/2011/08/android-application-crash-logs.html
la source
Vous pouvez utiliser ACRA à partir de cela . En incluant cette bibliothèque dans vos projets et en la configurant, vous pourriez recevoir (dans votre email ou gdocs) leurs rapports de plantage. Désolé pour mon mauvais anglais.
la source
Si vous recherchez un outil de base de rapport de plantage, essayez crashlytics .
Si vous voulez un outil de reporting plus avancé, Checkout Gryphonet . Il enregistre tous les accidents survenus avec la ligne de code exacte qui a provoqué le crash ainsi que des marqueurs automatisés qui vous montrent les étapes que l'utilisateur a suivies avant le crash et plus encore.
Bonne chance!
la source
Utilisez Acra Crash Reporter pour l'application Android. Acra lib
la source
J'ai créé cette bibliothèque pour résoudre tous vos problèmes. Crash Reporter est un outil pratique pour capturer tous vos plantages et les enregistrer localement dans l'appareil
Ajoutez simplement cette dépendance et vous êtes prêt à partir.
Trouvez tous vos plantages dans l'appareil localement et corrigez-les à votre convenance. Les plantages sont enregistrés en utilisant un format de date et d'heure facile à suivre. De plus, il fournit également une API pour capturer les exceptions enregistrées à l'aide de la méthode ci-dessous.
la source
Voici une solution qui peut vous aider à vider tous les journaux dans un fichier texte
la source
Vous pouvez également utiliser le crashcatcher de la bibliothèque
la source
Si vous recherchez simplement le journal des pannes alors que votre téléphone est connecté à l'ordinateur, utilisez la vue DDMS dans Eclipse et le rapport se trouve juste là dans LogCat dans DDMS lorsque votre application se bloque pendant le débogage.
la source
1) Branchez le téléphone via USB (avec les options de débogage du développeur activées)
2) Ouvrez Terminal et accédez à votre SDK Android (pour Mac):
cd ~/Library/Android/sdk/platform-tools
3) Logcat à partir de ce répertoire (dans votre terminal) pour générer un flux constant de journaux (pour Mac):
./adb logcat
4) Ouvrez votre application qui plante pour générer des journaux de panne
5) Ctrl + C pour arrêter le terminal et rechercher les journaux associés à l'application qui plante. Cela peut dire quelque chose comme ce qui suit:
AndroidRuntime: FATAL EXCEPTION: main
la source
Basé sur ce POST , utilisez cette classe en remplacement de "TopExceptionHandler"
}
.....
.....
.....
la source
Essayez l'application Carsh log sur Android.
utilisez le lien pour télécharger l'application.
la source