Question Malheureusement, MyApp s'est arrêté. Comment puis-je resoudre ceci?


Je développe une application, et chaque fois que je la lance, je reçois le message suivant:

Malheureusement, MyApp s'est arrêté.

Que puis-je faire pour résoudre ce problème?


A propos de cette question - évidemment inspiré par Qu'est-ce qu'une trace de pile, et comment puis-je l'utiliser pour déboguer mes erreurs d'application?, il y a beaucoup de questions indiquant que leur application a planté, sans plus de détails. Cette question vise à instruire les programmeurs Android novices sur la façon d'essayer et de résoudre eux-mêmes leurs problèmes, ou poser les bonnes questions.


618
2018-04-28 23:55


origine


Réponses:


Cette réponse décrit le processus de récupération de la trace de la pile. Vous avez déjà la trace de la pile? Lire sur les traces de la pile dans "Qu'est-ce qu'une trace de pile, et comment puis-je l'utiliser pour déboguer mes erreurs d'application?"

Le problème

Votre application a cessé de fonctionner RuntimeException a été jeté.
Le plus commun d'entre eux est le NullPointerException.

Comment le résoudre?

Chaque fois qu'une application Android tombe en panne (ou toute application Java d'ailleurs), un Stack trace est écrit sur la console (dans ce cas, logcat). Cette trace de pile contient des informations vitales pour résoudre votre problème.

Android Studio

Finding the stack trace in Android Studio

Dans la barre inférieure de la fenêtre, cliquez sur Logcat bouton. Alternativement, vous pouvez appuyer sur alt+6. Assurez-vous que votre émulateur ou périphérique est sélectionné dans Devices panneau. Ensuite, essayez de trouver la trace de la pile, qui est affichée en rouge. Il y a peut-être beaucoup de choses dans Logcat, vous devrez peut-être faire défiler un peu. Un moyen facile de trouver la trace de la pile est d'effacer le logcat (en utilisant la corbeille sur la droite), et de laisser l'application se bloquer à nouveau.

J'ai trouvé la trace de la pile, maintenant quoi?

Yay! Vous êtes à mi-chemin pour résoudre votre problème.
Vous avez seulement besoin de savoir ce qui fait exactement planter votre application, en analysant la trace de la pile.

Lire sur les traces de la pile dans "Qu'est-ce qu'une trace de pile, et comment puis-je l'utiliser pour déboguer mes erreurs d'application?"

Je ne peux toujours pas résoudre mon problème!

Si vous avez trouvé votre Exception et la ligne où il s'est produit, et ne peut toujours pas trouver comment résoudre ce problème, n'hésitez pas à poser une question sur StackOverflow.

Essayez d'être aussi concis que possible: postez la trace de la pile, et le pertinent code (par exemple quelques lignes jusqu'à la ligne qui a jeté le Exception).


578
2018-03-22 23:06



Vous pouvez utiliser L'outil ADB de Google obtenir Logcat file pour analyser le problème.

adb logcat > logcat.txt

ouvrir logcat.txt fichier et recherchez le nom de votre application. Il doit y avoir des informations sur les raisons de l'échec, le numéro de ligne, le nom de la classe, etc.


76
2018-03-18 08:01



Vous vérifiez d'abord quel point votre application a planté (Unfortunately, MyApp has stopped.). Pour cela, vous pouvez utiliser Log.e("TAG","Message");, en utilisant cette ligne, vous pouvez voir l'application se connecter à logcat.

Après cela, vous trouvez quel point votre application s'est arrêtée, c'est très facile à résoudre à vos côtés.


22
2018-06-11 10:58



Il suffit de vérifier l'erreur dans le chat de journal.

Vous obtenez l'option log cat dans eclipse:

Fenêtre-> Afficher la vue-> Autres-> Android-> Logcat

Le chat de journal contient une erreur.

Sinon, vous pouvez également vérifier l'erreur en exécutant une application en mode débogage. Tout d'abord définir le point d'arrêt après cela en faisant:

faites un clic droit sur projet-> debug as-> application Android


17
2017-11-06 09:23



Remarque: Cette réponse utilise Android Studio 2.2.2


15
2017-07-04 04:38



Cette fenêtre contextuelle s'affiche uniquement lorsque vous recevez une exception fatale dans votre code qui arrête l'exécution de l'application. Il pourrait s'agir de n'importe quelle exception NullPointerException, OutOfMemoryException, etc.

La meilleure façon de vérifier est par le biais de Logcat si vous développez encore l'application dans le studio Android qui est un moyen rapide de lire la trace de la pile et de vérifier la cause de l'application.

Si votre application est déjà en ligne, vous ne pouvez pas utiliser logcat. Donc, pour cela, vous pouvez implémenter Crashlytics pour vous fournir des rapports de bogue de toute exception qui se produit.


11
2018-06-29 11:48



Vérifier votre Logcat message et voir votre Manifest fichier. Il devrait y avoir quelque chose qui manque comme définir la Activity,Autorisation de l'utilisateur, etc.


9
2017-11-03 05:47