如何解决应用程序停止的问题?
P粉541565322
2023-08-21 15:17:55
<p>我正在开发一个应用程序,每次运行时都会收到以下消息:</p>
<blockquote>
<p>很抱歉,MyApp已停止运行。</p>
</blockquote>
<p>我应该怎么做才能解决这个问题?</p>
<hr/>
<p><em>关于这个问题 - 显然受到了“什么是堆栈跟踪,我如何使用它来调试我的应用程序错误?”的启发,有很多问题声称他们的应用程序崩溃了,但没有提供更多的细节。这个问题旨在指导初学者Android程序员如何自己尝试解决问题,或者提出正确的问题。</em></p>
您可以使用Google的ADB工具来获取
Logcat文件
以分析问题。打开
logcat.txt
文件并搜索您的应用程序名称。应该会有关于失败原因、行号、类名等信息。这个答案描述了检索堆栈跟踪的过程。已经有了堆栈跟踪?在"什么是堆栈跟踪,我如何使用它来调试我的应用程序错误?"中阅读有关堆栈跟踪的内容。
问题
您的应用程序退出,因为抛出了未捕获的
RuntimeException
。其中最常见的是
NullPointerException
。如何解决?
每当Android应用程序崩溃(或任何Java应用程序),都会将
堆栈跟踪
写入控制台(在本例中为logcat)。此堆栈跟踪包含解决问题所需的重要信息。Android Studio
在窗口的底部栏中,点击
Logcat
按钮。或者,您可以按下alt+6。确保在设备
面板中选择了您的模拟器或设备。接下来,尝试找到以红色显示的堆栈跟踪。logcat中可能记录了很多内容,因此您可能需要滚动一下。找到堆栈跟踪的简单方法是清除logcat(使用右侧的回收站),然后让应用程序再次崩溃。我找到了堆栈跟踪,现在怎么办?
耶!您已经完成了一半的问题解决过程。
您只需要通过分析堆栈跟踪找出到底是什么导致了应用程序崩溃。
在"什么是堆栈跟踪,我如何使用它来调试我的应用程序错误?"中阅读有关堆栈跟踪的内容。
我仍然无法解决我的问题!
如果您已经找到了
异常
和它发生的行,并且仍然无法弄清楚如何修复它,请毫不犹豫地在StackOverflow上提问。尽量简洁明了:发布堆栈跟踪和相关的代码(例如,从抛出
异常
的行往上几行代码)。