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

不幸的是,MyApp已停止。

我可以做什么来解决这个问题?


关于这个问题-显然是受什么是堆栈跟踪以及如何使用它调试应用程序错误的启发?,有很多问题表明他们的应用程序已经崩溃,没有任何进一步的细节。这个问题旨在指导Android新手程序员如何自己解决问题,或者提出正确的问题。


当前回答

首先,你检查你的应用程序在哪个点崩溃了(不幸的是,MyApp已经停止。)。为此,你可以使用Log.e(“TAG”,“Message”);,使用这一行,您可以在logcat中查看应用程序日志。

之后,你会发现你的应用程序停止了哪一点,这很容易在你身边解决。

其他回答

人们会犯错,编码也是如此。

当发生任何错误时,总是用红色文本检查日志,但是你可以在蓝色文本中找到真正的问题,红色文本中有下划线。

确保如果您创建了一个新活动,请始终在AndroidManifest文件中声明该活动。

如果添加Permission,请在AndroidMainifest文件中声明它。

只有当代码中出现致命异常,停止应用程序的执行时,才会显示此弹出窗口。它可以是任何异常NullPointerException、OutOfMemoryException等。

最好的检查方法是通过Logcat,如果您仍在Android studio中开发应用程序,这是快速读取堆栈跟踪并检查应用程序原因的方法。

如果你的应用已经上线,那么你就不能使用logcat。因此,您可以实现Crashlytics,为您提供任何异常的错误报告。

您可以使用以下任何工具:

adb测井仪adb logcat>logs.txt(您可以使用编辑器打开和搜索错误。)eclipse日志猫(如果在eclipse中不可见,请转到Windows->显示视图->其他->Android->日志猫)Android调试监视器或Android设备监视器(键入命令监视器或通过UI打开)

Android工作室

我建议使用Android调试监视器,它很好。因为当日志太多时,eclipse会挂起,而且通过adb logcat过滤器等都很困难。

首先,您需要检查应用程序崩溃的位置和原因(不幸的是,MyApp已停止)。借助LOG,您可以找出问题所在。

之后,你会发现你的应用程序停止了从你的角度修复它。

如果您的终端中没有任何有趣的日志(或者它们与您的应用程序没有直接关联),那么您的问题可能是由于本地库。在这种情况下,您应该检查终端中的“墓碑”文件。

逻辑删除文件的默认位置取决于每个设备,但如果是这样的话,则会有一个日志告诉您:逻辑删除已写入:/data/botobs/逻辑删除_06

有关详细信息,请查看https://source.android.com/devices/tech/debug.