不幸的是MyApp已经停止了。我该如何解决?

问题:

我正在开发一个应用程序,每次我运行它,我得到的消息:

不幸的是,MyApp已经停止了。

我能做些什么来解决这个问题?
 About this question – obviously inspired by What is a stack trace, and how can I use it to debug my application errors?, there are lots of questions stating that their application has crashed, without any further detail. This question aims to instruct novice Android programmers on how to try and fix their problems themselves, or ask the right questions.

回答:

 This answer describes the process of retrieving the stack trace. Already have the stack trace? Read up on stack traces in “What is a stack trace, and how can I use it to debug my application errors?

问题

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

如何解决?

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

Android Studio

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

 Finding the stack trace in Eclipse
点击右上角的DDMS按钮。如果不存在,您可能需要先使用Java按钮左侧的Open Perspective按钮添加它。您将在底部找到logcat窗格。首先,确保您的设备在topleft devices面板中被选中。接下来,尝试找到堆栈跟踪,显示为红色。再次,可能有很多东西登录到logcat,所以你可能需要滚动一下。找到堆栈跟踪的简单方法是清除logcat(使用右上角的clear log按钮),并让应用程序再次崩溃。您还应该点击应用程序的包名,如果尚未选择。这将仅过滤掉您的应用程序发出的日志消息。

我找到堆栈跟踪,现在是什么?

好极了!你中途解决你的问题。
通过分析堆栈跟踪,您只需要找出应用程序崩溃的原因。
在“What is a stack trace, and how can I use it to debug my application errors?”中读取堆栈跟踪

我还是无法解决我的问题!

如果你发现你的Exception和它发生的行,但仍然无法弄明白如何解决它,请不要犹豫,在StackOverflow上提出一个问题。
尽可能简洁:发布堆栈跟踪和relevant代码(例如,直到抛出Exception的行的几行)。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Unfortunately MyApp has stopped. How can I solve this?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

25 − 15 =