不幸的是,MyApp已经停止。 我该如何解决这个问题?

我正在开发一个应用程序,每次运行它时,都会收到以下消息:

不幸的是,MyApp已经停止。

我能做些什么来解决这个问题?


关于这个问题 - 明显受到什么是堆栈跟踪的启发,以及如何使用它来调试我的应用程序错误?,有很多问题说明他们的应用程序崩溃了,没有任何进一步的细节。 这个问题旨在指导新手Android程序员如何自己尝试解决他们的问题,或者提出正确的问题。


这个答案描述了检索堆栈跟踪的过程。 已经有堆栈跟踪? 在“什么是堆栈跟踪,以及如何使用它来调试我的应用程序错误?”中,阅读堆栈跟踪信息。

问题

您的应用程序因为抛出未捕获的RuntimeException而退出。
其中最常见的是NullPointerException

如何解决它?

每次Android应用程序崩溃(或任何Java应用程序)时, Stack trace都会写入控制台(在本例中为logcat)。 此堆栈跟踪包含解决问题的重要信息。

Android Studio

在Android Studio中查找堆栈跟踪

在窗口的底部栏中,单击Logcat按钮。 或者,您可以按alt + 6。 确保在“ Devices面板中选择了您的模拟器或设备。 接下来,尝试找到以红色显示的堆栈跟踪。 可能有很多东西登录到logcat中,所以你可能需要滚动一下。 找到堆栈跟踪的简单方法是清除logcat(使用右侧的回收站),并让应用程序再次崩溃。

我发现了堆栈跟踪,现在是什么?

好极了! 你解决问题的一半。
通过分析堆栈跟踪,您只需要找出确切导致应用程序崩溃的原因。

在“什么是堆栈跟踪,以及如何使用它来调试我的应用程序错误?”中,阅读堆栈跟踪信息。

我仍然无法解决我的问题!

如果你发现你的Exception和它发生的地方,并且仍然不知道如何解决它,请不要犹豫在StackOverflow上提出问题。

尝试尽可能简洁:发布堆栈跟踪和相关代码(例如,几行直到抛出Exception的行)。


您可以使用Google的ADB工具来获取Logcat file来分析问题。

adb logcat > logcat.txt

打开logcat.txt文件并搜索您的应用程序名称。 应该有关于它失败的原因,行号,类名等信息。


首先检查你的应用崩溃的点( Unfortunately, MyApp has stopped. )。 为此,您可以使用Log.e("TAG","Message"); ,使用这一行,你可以看到你的应用程序登录logcat。

之后,你会发现你的应用停止了哪一点,很容易在你身边解决。

链接地址: http://www.djcxy.com/p/9371.html

上一篇: Unfortunately MyApp has stopped. How can I solve this?

下一篇: file: "no main manifest attribute"