860 votes

Malheureusement, MyApp s'est arrêté. Comment puis-je résoudre ce problème ?

Je suis en train de développer une application, et chaque fois que je l'exécute, j'obtiens le message suivant :

Malheureusement, MyApp s'est arrêté.

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


À propos de cette question - manifestement inspirée par Qu'est-ce qu'une trace de pile, et comment puis-je l'utiliser pour déboguer les erreurs de mon application ? Il y a beaucoup de questions indiquant que l'application s'est arrêtée, sans plus de détails. Cette question a pour but d'apprendre aux programmeurs Android novices comment essayer de résoudre leurs problèmes eux-mêmes, ou de poser les bonnes questions.

29 votes

J'ai vu de nombreuses questions être fermées en tant que doublons avec cela. C'est une bonne référence pour aider les gens à poster des données pertinentes dans leurs questions. Cependant, il ne s'agit pas d'une duplication d'un problème fondamental, mais simplement d'une méthodologie permettant de déterrer le problème fondamental. Je pense qu'il serait préférable de fournir le lien vers cette question comme référence et de ne pas la fermer comme doublon.

37 votes

Je pense que la fonction de fermeture est parfaite pour cela. La plupart de ces questions montrent une faible connaissance des compétences de base en matière de débogage. Le fait de les mettre en attente leur donne l'occasion de clarifier leur problème, en utilisant la méthode indiquée dans la réponse. Mieux encore, ils pourraient être en mesure de résoudre le problème eux-mêmes. Cette discussion serait peut-être mieux adaptée à meta.stackoverflow.com.

0 votes

Cette question est trop vague. Une meilleure question serait "en utilisant [myIDE] comment puis-je déboguer une application Android qui affiche l'erreur "Malheureusement, MyApp s'est arrêtée"".

5voto

naXa Points 862

Crash pendant le développement

Essayez mon outil préféré logview pour obtenir les journaux et les analyser pendant le développement.
Veillez à marquer ./logview et ./lib/logview.jar comme exécutable lorsqu'il est exécuté sous Linux.

Si vous n'aimez pas ça, il y a beaucoup d'alternatives. visionneuses de journaux de bureau pour Android .

Crash dans la nature

Intégrer un outil de signalement des accidents en temps réel, tel que Firebase Crashlytics afin d'obtenir les traces de pile des exceptions non gérées qui se sont produites sur les appareils des utilisateurs.

Lire Comment publier une application boguée (et vivre pour en parler) ? pour en savoir plus sur le traitement des insectes sur le terrain.

5voto

Ashish Points 1408

Logcat - Pour vérifier les logs dans la phase de développement d'Android Studio

Dans un premier temps, effacez le Logcat et laissez l'application se planter à nouveau afin d'obtenir uniquement les détails du journal des plantages. Vous devez vérifier le Stack trace

Alors que, malheureusement, MyApp s'est arrêté. Il y a plusieurs raisons à cela. Vous pouvez les vérifier dans les journaux. Pour cela, vous pouvez utiliser le Log.e("TAG", "Message") ;

Erreur commune lors d'un crash d'application comme :

  1. Erreur de codage (mauvaise utilisation des mots-clés).
  2. Le nom de la propriété ne correspond pas.
  3. Unsupported plugin(maybe).
  4. Mismatch version(maybe).
  5. Activité manquante dans le fichier AndroidManifest.
  6. Permission manquante dans le fichier AndroidManifest.
  7. Exception NullPointerException la plus courante.
  8. Déclaré mais non défini.

Pour résoudre l'erreur de plantage de l'application :

  • Gardez à l'esprit les points ci-dessus et passez à l'action.
  • Avec l'erreur, vous obtiendrez le nom du fichier également en couleur bleue (cliquez dessus pour accéder au code de l'erreur).

4voto

zapotec Points 598

Si vous n'avez pas de logs intéressants dans votre terminal (ou s'ils ne sont pas directement liés à votre application), votre problème est peut-être dû à une bibliothèque native. Dans ce cas, vous devriez vérifier les fichiers "tombstone" dans votre terminal.

L'emplacement par défaut des fichiers tombstone dépend de chaque appareil, mais si c'est le cas, vous aurez un journal qui vous le dira : Tombstone written to: /data/tombstones/tombstone_06

Pour plus d'informations, consultez le site https://source.Android.com/devices/tech/debug .

3voto

Mehul Solanki Points 695

Tout d'abord, vous devez vérifier où et pourquoi votre application a été plantée. (Unfortunately, MyApp has stopped.). Avec l'aide de LOG vous pouvez trouver ce qui a mal tourné.

Après cela, vous trouverez le point où votre application s'est arrêtée et vous le réparerez à partir de ce point.

2voto

Mohsen Emami Points 124

L'exécution de cette commande dans le terminal peut également aider à trouver le problème :

gradlew build > log.txt 2>details.txt

alors vous devez aller à l'emplacement du fichier gradlew pour lire les deux fichiers journaux ci-dessus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X