Leider MyApp aufgehört hat. Wie kann ich dieses Problem lösen?
Bin ich eine Anwendung entwickeln, und jedesmal, wenn ich es laufen lasse, bekomme ich die Meldung:
Leider, die Anwendung gestoppt hat.
Was kann ich tun, um dieses Problem zu lösen?
Über diese Frage - offensichtlich inspiriert von Was ist ein stack trace, und wie kann ich es verwenden, um debug-mein Fehler in der Anwendung?, es gibt viele Fragen, die besagt, dass Ihre Anwendung ist abgestürzt, ohne weitere Details. Diese Frage zielt darauf ab zu beauftragen Anfänger Android-Programmierer auf, wie zu versuchen und zu beheben Ihre Probleme selbst, oder die richtigen Fragen zu stellen.
Ich habe gesehen, dass viele Fragen immer geschlossen düpiert mit diesem. Dies ist eine gute Referenz für den Menschen hilft, die post relevanten Daten in Ihre Fragen. Dies ist jedoch nicht ein Duplikat eines beliebigen root-problem gibt es aber nur Methodik für das ausgraben der Wurzel problem. Ich denke, es wäre besser, nur den link zu dieser Frage als Referenz und nicht in der Nähe doppelt.
Ich denke die schließen-Funktion ist perfekt dafür. Die meisten dieser Fragen zeigen wenig wissen über die grundlegende debugging-Fähigkeiten. Setzen Sie auf halten stellt eine chance für Sie zu klären, Ihre problem, mit der Methode wie es in der Antwort. Besser noch, Sie könnten in der Lage sein, das problem selbst zu lösen. Diese Diskussion könnte besser geeignet sein für meta.stackoverflow.com obwohl.
Diese Frage ist zu vage. Eine bessere Frage wäre 'mit [myIDE] wie kann ich debug' ein Android-Anwendung, die die Anzeige der Fehlermeldung 'Leider, Anwendung gestoppt hat'
Diese Q/A ist nicht zum Debuggen überhaupt. Es ist über Führung Anfänger in Android, wie man mit app stürzt ab.
stackoverflow.com/questions/26609734/...,.. aktivieren Sie das multidex becoz Fehler in apk umwandeln
Ich denke die schließen-Funktion ist perfekt dafür. Die meisten dieser Fragen zeigen wenig wissen über die grundlegende debugging-Fähigkeiten. Setzen Sie auf halten stellt eine chance für Sie zu klären, Ihre problem, mit der Methode wie es in der Antwort. Besser noch, Sie könnten in der Lage sein, das problem selbst zu lösen. Diese Diskussion könnte besser geeignet sein für meta.stackoverflow.com obwohl.
Diese Frage ist zu vage. Eine bessere Frage wäre 'mit [myIDE] wie kann ich debug' ein Android-Anwendung, die die Anzeige der Fehlermeldung 'Leider, Anwendung gestoppt hat'
Diese Q/A ist nicht zum Debuggen überhaupt. Es ist über Führung Anfänger in Android, wie man mit app stürzt ab.
stackoverflow.com/questions/26609734/...,.. aktivieren Sie das multidex becoz Fehler in apk umwandeln
InformationsquelleAutor nhaarman | 2014-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Antwort beschreibt den Prozess zum abrufen der stack-trace. Schon haben Sie die stack-trace? Lesen Sie stack-traces in "Was ist ein stack trace, und wie kann ich es verwenden, um debug-mein Fehler in der Anwendung?"
Das Problem
Ihre Anwendung beenden, da eine nicht abgefangene
RuntimeException
geworfen wurde.Das am meisten common von diesen ist der
NullPointerException
., Wie es zu lösen?
Jedes mal, wenn eine Android-Anwendung stürzt ab (oder eine Java-Anwendung, für diese Angelegenheit), eine
Stack trace
wird in die Konsole geschrieben (in diesem Fall, logcat). Diese stack-trace enthält lebenswichtige Informationen für die Lösung Ihres Problems.Android Studio
In der unteren Leiste des Fensters, klicken Sie auf die
Logcat
- Taste. Alternativ können Sie die Taste alt+6. Stellen Sie sicher, dass Ihr emulator oder ein Gerät ausgewählt ist, in derDevices
panel. Versuchen Sie als Nächstes, finden Sie den stack-trace, der ist in rot dargestellt. Möglicherweise gibt es eine Menge Sachen, die angemeldet logcat, so müssen Sie möglicherweise scrollen ein bisschen. Eine einfache Möglichkeit zu finden, die stack-trace ist klar das logcat (mit dem Papierkorb auf der rechten Seite), und lassen Sie die app wieder Abstürzen.Ich gefunden habe, der stack-trace, was nun?
Yay! Du bist auf halbem Weg, um Ihr problem zu lösen.
Sie müssen nur herausfinden, was genau deine Anwendung abstürzt, durch die Analyse der stack-trace.
Lesen, auf die stack-traces in "Was ist ein stack trace, und wie kann ich es verwenden, um debug-mein Fehler in der Anwendung?"
Ich kann immer noch nicht mein problem lösen!
Wenn Sie gefunden haben, Ihre
Exception
und die Zeile wo es aufgetreten ist, und kann immer noch nicht herausfinden, wie es zu lösen ist, zögern Sie nicht zu Fragen, eine Frage auf StackOverflow.Versuchen Sie, so präzise wie möglich: post-Stapel-Ablaufverfolgung, und die relevanten code (z.B. ein paar Zeilen bis zu der Zeile, die warf die
Exception
).Android > Devices|Logcat
und einen neuen filter hinzufügen (i.imgur.com/145dtkx.png), und filtern Sie es fürby Log Message
hier können SieFATAL EXCEPTION
(i.imgur.com/HpELhaU.png), so dass in diesem Feld können Sie alle LesenExceptions
die werfen durch Ihre Anwendung. Mit diesem können Sie nicht brauchen, um klar logcat und tun der Absturz wieder. Ich denke, dass Android Studio haben diese option auch.Filterung logcat in Eclipse getan werden kann, durch Eingabe in das entsprechende java-package-name der Anwendung, name-Feld des filters.
Ich denke der wichtigste Punkt ist das Verständnis der Spur zurück, den man erhält, wenn die exception passiert. Die FCs sind ein bisschen schlecht, wenn gibt es keine Spur zurück oder nicht verwendbar ist, wo wird es haarig. aber ich denke, diese Erklärung ist eine schöne erste intro zu finden/identifizieren, solche bugs.
Die Dinge sind einfach, wenn Ihr logcat hat einige Spuren von Fehler, aber was ist im Fall logcat hat nichts? stackoverflow.com/questions/32455645/...
Das problem ist die Zeile enthält nicht die Fehler, die geschrieben werden und die Spitzen von den stack-trace.
InformationsquelleAutor
Können Sie Google ADB-tool zu bekommen
Logcat file
um das Problem zu analysieren.öffnen
logcat.txt
- Datei und suchen Sie nach dem Namen der Anwendung. Sollte es Informationen auf, warum es fehlgeschlagen ist, die Nummer der Zeile, Klasse, name, etc.Ich konnte nicht sehen, warum meine app stürzt ab in android studio logcat, es gab keine Fehler. Diese Antwort gab mir was ich brauchte. Später jedoch merkte ich, dass ich hatte ein paar filter in der studio-logcat war hindert mich daran, dass der Fehler Auftritt. Ich wechselte wieder auf "Zeige nur ausgewählte Anwendung" und ich war wieder einsatzbereit.
sollten Sie
-d
, sonst ist Sie naiv, Strg-C zum beenden logcat. Ich macheadb logcat -v time -d > filename.txt
InformationsquelleAutor Vlad Bezden
Ersten, Sie Scheck welchem Punkt Ihrer app abgestürzt ist (
Unfortunately, MyApp has stopped.
). Für diese, die Sie verwenden könnenLog.e("TAG", "Message");
mit dieser Linie können Sie Ihre app-log-in logcat.Danach, Sie zu finden, die zeigen Sie Ihre app hat aufgehört, es ist sehr einfach zu lösen, an Ihrer Seite.
InformationsquelleAutor Hiren Vaghela
Nur überprüfen Sie die Fehler in der log-cat.
Erhalten Sie die log-Katze-option in eclipse:
Log cat enthält Fehler.
Andere weisen können Sie auch prüfen, den Fehler durch Ausführung einer Anwendung im debug-Modus.
Zum ersten Haltepunkt nach, dass Sie:
InformationsquelleAutor Rahil Ali
Hinweis: Diese Antwort ist mit Android Studio 2.2.2
Hinweis 2: ich überlege, dass Ihr Gerät erfolgreich verbunden.
Das erste, was Sie tun, wenn Ihre Anwendung abstürzt, ist der Blick in die LogCat, an der Unterseite von Android Studio gibt es eine toolbar mit einer Liste der Menüs:
Klicken Sie auf die "Android-Monitor" (die, Die ich Unterstrichen im Bild oben. ^)
Nun, du wirst etwas wie dieses:
Ändern "
Verbose
" zu "Error
" Jetzt wird es nur zeigen Ihnen, protokolliert Fehler. Keine Sorge, über all diese Fehler (wenn man Sie bekam) jetzt.Ok. Nun, tun, was Sie Tat, um den Absturz Ihrer app. Nachdem die app abstürzt, gehen Sie zu Ihrem logcat. Sollten Sie einen neuen crash-log, der eine Menge
at:x.x.x
: undCaused by: TrumpIsPresidentException
zum Beispiel. Gehen Sie zu, dassCaused by:
- Anweisung in der logcat.Neben, dass
Caused By:
sollte es die Ausnahme sein, was passiert ist. In meinem Fall, es ist einRuntimeException
und unter sollte es eine Zeile, die enthält eine blauen link wie:Wenn das
Caused by:
NICHT eine Zeile mit blauer Schrift irgendwo unter, dann suchen Sie sich einen anderenCaused by:
.Klicken Sie auf das Blaue link. Es sollte Ihnen, wo das problem aufgetreten. In meinem Fall war es durch diese Zeile:
So, jetzt weiß ich, warum es abstürzt. Es ist, weil ich das werfen der Ausnahme selbst. Dies war offensichtlich ein Fehler.
Allerdings, sagen wir mal bekam ich eine andere Fehlermeldung:
Überprüfte ich mein logcat, ich klickte auf den blauen link gab es mir, und es hat mich hier:
So, ich will jetzt zu Debuggen. Nach diese StackOverflow-Frage, eine NullPointerException sagt, dass etwas ist
null
.So, lassen Sie uns herausfinden, was ist null. Es gibt zwei Möglichkeiten. Entweder
mTextView
null ist, odermyString
null ist. Finden Sie heraus, vor dermTextView.setText(mString)
Zeile, füge ich diese beiden Zeilen:Nun, wie wir es vorher gemacht haben (Wir geändert Verose Fehler), das wollen wir ändern "Fehler" zu "Debuggen". Da wir die Protokollierung-debugging. Hier sind alle Log-Methoden:
So, da wir verwendet
Log.d
, wir prüfen, in Debug. Das ist, warum wir es geändert debug.Bemerken
Log.d
hat einen ersten parameter,in unserem Fall "AppDebug". Klicken Sie auf "Keine Filter" drop-down-Menü auf der rechten oberen Seite der logcat. Wählen Sie "Bearbeiten" Filter Configuration", geben Sie einen Namen für Ihren filter, und in "Log-Tag" setzen Sie "App-Debug". Klicken Sie auf "OK". Nun, Sie sollten sehen, zwei Linien in der logcat:So, jetzt wissen wir, dass mTextView null ist.
Beobachte ich meinen code jetzt Bemerke ich etwas.
Habe ich
private TextView mTextView
erklärt, an der Spitze meiner Klasse. Aber, ich bin nicht, es zu definieren.Grundsätzlich habe ich vergessen das in meiner onCreate():
So, DASS IST der Grund, warum
mTextView
ist null, weil ich vergessen habe zu sagen meine app, was es ist. So ich hinzufügen, dass, Linie, laufen meine app, und jetzt die app nicht abstürzt.TrumpIsPresidentException
🙂 ?Wenn eine Mauer gebaut wird
Das ist gute Informationen, aber mit Hilfe von Bildern der Stack-Trace schmälert Ihre Nützlichkeit - Bilder können nicht durchsucht werden, können nicht kopiert und eingefügt werden, die abgeholt werden können nicht von Bildschirmleseprogrammen, und sind schwieriger zu Lesen. (Ich wusste nicht downvote, durch die Art und Weise, nur den Hinweis).
Das sage ich nicht, um Bilder tho.
InformationsquelleAutor Ab_
Dieses popup zeigt nur, wenn man eine fatal exception in deinem code, das verhindert die Ausführung der app. Es könnte eine Ausnahme
NullPointerException
,OutOfMemoryException
etc.Beste Weg, um zu überprüfen, ist durch Logcat wenn Sie noch im Aufbau ist das app in Android studio, die ist schnell Weg zu Lesen-Stapel-Ablaufverfolgung und überprüfen Sie die Ursache des app.
Wenn Ihre app ist bereits live, dann können Sie nicht verwenden logcat. So, für die, die Sie implementieren können
Crashlytics
zu bieten, dass Sie bug-reports für jede exception, die Auftritt.InformationsquelleAutor Ani
Überprüfen Sie Ihre
Logcat
Nachricht und sehen Sie IhreManifest
- Datei. Es sollte so etwas fehlt wie die Festlegung derActivity,
Benutzer die Berechtigung " etc.InformationsquelleAutor Manoj ahirwar
Können Sie jedes der folgenden tools:
Schlage ich Android-Debug-Monitor, ist es gut. Da eclipse hängt sich auf, wenn zu viele Protokolle gibt, und über adb logcat filter und alle schwierig.
InformationsquelleAutor ShivBuyya
Müssen Sie die
Stack trace
, Wie zu tun?
auf Ihrem IDE-Überprüfen Sie die windows-form LOGCAT
Wenn Sie Sie nicht sehen das logcat Fenster gehe zu diesem Pfad und öffnen Sie es
wenn Sie mit der Google-Api gehen Sie zu diesem Pfad
adb logcat > logcat.txt
InformationsquelleAutor alireza amini
Unter showToast () - Methode übergibt man einen anderen parameter für Kontext und Anwendungskontext indem Sie so tun, können Sie es versuchen.
InformationsquelleAutor Mayank Nema
Lassen Sie mich eine grundlegende Logcat-Analyse für wenn Sie treffen einen Force Close (wenn die app aufhört zu arbeiten).
DOCS
Basic-tool von Android sammeln/analysieren von Protokollen ist die logcat.
HIER ist der Android Seite über logcat
Wenn Sie mit android Studio, Sie können auch überprüfen, diese LINK.
Erfassung
Grundsätzlich können Sie MANUELL erfassen, logcat mit folgenden Befehl (oder einfach nur überprüfen AndroidMonitor Fenster in AndroidStudio):
Gibt es viele Parameter, die Sie hinzufügen können, auf Befehl, das hilft Ihnen, zu filtern und anzuzeigen die Nachricht, die Sie wollen... Das ist eine persönliche... ich benutze immer den folgenden Befehl, um die Nachricht Zeitstempel:
Leiten Sie die Ausgabe in eine Datei und analysieren Sie diese in einem Text-Editor.
Analyse
Wenn Sie die app Abstürzt, erhalten Sie so etwas wie:
Dieser Teil der log zeigt Ihnen eine Menge Informationen:
07-09 08:29:13.475
Ist es wichtig, zu überprüfen, wenn das Problem passiert... finden Sie möglicherweise mehrere Fehler in ein log... Sie müssen sicher sein, dass Sie überprüfen die richtigen Nachrichten 🙂
com.example.khan.abc
Diese Weise wissen Sie, welche app abgestürzt ist (um sicher zu sein, dass Sie überprüfen die Protokolle über Ihre Nachricht)
java.lang.NullPointerException
Einer NULL-Zeiger-Ausnahme-Fehler
Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.onBackPressed()' on a null object reference
Sie versuchte zu rufen, Methode
onBackPressed()
aus einerFragmentActivity
Objekt. Aber das Objekt warnull
wenn du es getan hast.Stack Trace: Stack Trace zeigt Ihnen die Methode invocation Ordnung... Manchmal, der Fehler passiert in der aufrufenden Methode (und nicht in der aufgerufenen Methode).
unter com.Beispiel.khan.abc.AudioFragment$1.onClick(AudioFragment.java:125)
Fehler ist in der Datei
com.example.khan.abc.AudioFragment.java
innerhalbonClick()
Methode in Zeile:125
(stacktrace zeigt die Zeile, der Fehler passiert ist)Es wurde von:
Wurde genannt:
wurde genannt:
etc....
Übersicht
Dies war nur ein überblick... Nicht alle Protokolle sind einfache etc... Es ist einfach zu teilen die Idee und bieten eine entry-level-Informationen zu...
Ich hoffe ich konnte dir helfen irgendwie...
Hinsichtlich
InformationsquelleAutor W0rmH0le
Verwenden Sie die LogCat und versuchen, das zu finden, was die Ursache für die app zum Absturz bringen.
Sehen Logcat wenn Sie Android Studio dann Drücken Sie ALT + 6
oder
wenn Sie Eclipse dann
Fenster -> Öffnen Sie Sicht -> Andere - LogCat
Gehen Sie auf die LogCat, aus der drop-down-Menü, wählen Sie Fehler. Diese enthält alle erforderlichen Informationen, um Ihnen zu helfen zu Debuggen. Wenn das nicht hilft, post in der LogCat als edit auf deine Frage und jemand wird Ihnen helfen.
InformationsquelleAutor Biswajit Karmakar
Wenn die app aus irgendeinem Grund abstürzt, ohne gute stacktrace. Versuchen Sie Debuggen aus der erste Zeile, und gehen Sie Zeile für Zeile bis zum Absturz. Dann haben Sie die Antwort, die die Linie verursacht Sie Probleme. Proably könnte man dann wrapp es in try-catch-block und print error-Ausgang.
InformationsquelleAutor felislynx.silae
Erhalten Sie auch diese Fehlermeldung, auf seine eigene, ohne jede stack-trace oder weitere Fehlermeldung.
In diesem Fall müssen Sie sicherstellen, dass Ihr Android-manifest ist richtig konfiguriert (einschließlich manifest Verschmelzung geschieht aus einer Bibliothek und jede Aktivität, die kommen würde, aus einer Bibliothek), und achten Sie besonders auf die erste Aktivität angezeigt, in Ihrer Anwendung in Ihrem manifest-Dateien.
sicherlich verursacht nicht die exception zu fangen
InformationsquelleAutor Pelpotronic
Absturz während der Entwicklung
Versuchen, mein Lieblings-tool logview, um die logs zu analysieren und Ihnen bei der Entwicklung.
Stellen Sie sicher, dass mark
./logview
und./lib/logview.jar
als ausführbare Datei beim ausführen in Linux.Wenn Sie es nicht mögen, es gibt eine Menge von alternativen desktop-log-Viewer für Android.
Absturz in der wildnis
Integration eines real-time crash-reporting-tool wie FB Crashlytics um stacktraces von unbehandelten Ausnahmen, die aufgetreten sind auf die Geräte der Nutzer.
Lesen So lösen Sie einen Buggy App (Und Leben um die Geschichte zu Erzählen) mehr wissen über Umgang mit Fehlern in dem Bereich.
InformationsquelleAutor naXa
Menschen machen Fehler, und so-Codierung sowie.
Wenn ständig irgendwelche
error
passiert ist, überprüfen Sie immer mit der logcat mit dem text in Roter Farbe, jedoch kann u finden Sie heraus, die eigentliche problem in der blauen Farbe von text mit unterstreichen in diesen roten text.Stellen Sie sicher, dass, wenn u erstellen Sie eine neue
activity
, immer erklären, dieactivity
imAndroidManifest
Datei.Wenn hinzufügen der Berechtigung, deklarieren Sie Sie in die
AndroidMainifest
- Datei als auch.InformationsquelleAutor Kopi Bryant
Logcat - Zu überprüfen, die Protokolle in der Entwicklung von Android Studio
Zunächst klar die Logcat und lassen Sie die app wieder Abstürzen, so können Sie nur abgestürzt log detail. Sie müssen überprüfen Sie die Stack-trace
Häufigsten Fehler bei app-Absturz wie:
Zu lösen-app Absturz-Fehler:
InformationsquelleAutor ashish
Erste, Sie brauchen, um zu überprüfen, wo und warum Ihre app abgestürzt
(Unfortunately, MyApp has stopped.).
Mit Hilfe vonLOG
können Sie herausfinden, was falsch gelaufen ist.Danach, Sie zu finden, die zeigen Sie Ihre app aufgehört hat zu beheben, dass aus Ihrer Sicht.
InformationsquelleAutor Mehul Solanki