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

标签 java android debugging kotlin

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

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)。此堆栈跟踪包含解决您的问题的重要信息。

安卓工作室

Finding the stack trace in Android Studio

在窗口的底部栏中,单击 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/

相关文章:

java - Spring (Java) - 注册和列表

java - Libgdx 非缩放全屏

java - 在 Java 中使用 final 关键字会提高性能吗?

c++ - 如何访问在 C++ 中声明数据成员的名称并将这些名称输出到控制台

python - 有没有办法在 python 中使用断点?

java - 当我在图标中按一次时,导航底部 bat 不起作用,只有当我按两次时才起作用?

android - 在 Android 应用程序的 Web 中访问响应 header 和状态代码?

java - SQLite数据库是同步的还是异步的?

java - java中不同类中通过静态方法设置和获取静态变量值

objective-c - 堆栈跟踪中方法名称旁边的数字是什么?