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应用程序)崩溃时,就会将Stack trace写入控制台(在本例中为logcat)。此堆栈跟踪包含解决问题的重要信息。

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/53274400/

相关文章:

java - 如何在 AWT 的托盘栏通知中自定义程序名称?

java - 将用户定义的库添加到 SVN

java - 从不同对象获取值的通用方法,无需公共(public)父类(super class)型

android - Volley 作为依赖

android_build.sh 在构建 ffmpeg 库时出错

android - 我的 SQLiteOpenHelper 的问题

linq - 使用 LINQ 的 SubmitChanges 时检查 Insert 语句

Java 字符串替换

debugging - 我不知道为什么在调试 Google Analytics(分析)时我的跟踪信标没有被发送

debugging - 程序 '[3984] dotnet.exe' 已退出,代码为 -2147450751 (0x80008081)