我正在开发一个应用程序,每次运行它时,我都会收到消息:
Unfortunately, MyApp has stopped.
我该怎么做才能解决这个问题?
关于这个问题 - 显然受到 What is a stack trace, and how can I use it to debug my application errors? 的启发, 有很多问题说他们的应用程序崩溃了,没有任何进一步的细节。这个问题旨在指导新手 Android 程序员如何尝试自己解决问题,或者提出正确的问题。
最佳答案
此答案描述了检索堆栈跟踪的过程。已经有了堆栈跟踪?阅读“What is a stack trace, and how can I use it to debug my application errors?”中的堆栈跟踪
问题
您的应用程序已退出,因为抛出了未捕获的 RuntimeException
。
其中最常见的是 NullPointerException
.
如何解决?
每次 Android 应用程序崩溃(或与此相关的任何 Java 应用程序)时,堆栈跟踪
都会写入控制台(在本例中为 logcat)。此堆栈跟踪包含解决您的问题的重要信息。
安卓工作室
在窗口的底部栏中,单击 Logcat
按钮。或者,您可以按 alt+6。确保在 Devices
面板中选择了您的模拟器或设备。接下来,尝试找到以红色显示的堆栈跟踪。 logcat 中可能记录了很多内容,因此您可能需要滚动一下。找到堆栈跟踪的一种简单方法是清除 logcat(使用右侧的回收站),然后让应用程序再次崩溃。
我找到了堆栈跟踪,现在怎么办?
耶!您的问题已经解决了一半。
您只需要通过分析堆栈跟踪找出究竟是什么导致您的应用程序崩溃。
阅读“What is a stack trace, and how can I use it to debug my application errors?”中的堆栈跟踪
我还是无法解决我的问题!
如果您找到了Exception
及其发生的行,但仍无法弄清楚如何修复它,请不要犹豫,在 StackOverflow 上提问。
尽量简洁:发布堆栈跟踪和相关代码(例如,抛出 Exception
的几行代码)。
关于java - 不幸的是 MyApp 已经停止。我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685544/