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

不幸的是,MyApp已停止。

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


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


当前回答

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

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

Android工作室

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

其他回答

我会提出类似的建议。

检查你的手机是否有足够的空间让应用程序运行----之前/当应用程序崩溃时检查日志。它将显示应用程序崩溃的确切位置。检查是否在主线程上使用了由于ANR而占用大量内存的内容。

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

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

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

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

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

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

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

您还可以自行获取此错误消息,而无需任何堆栈跟踪或任何进一步的错误消息。

在这种情况下,您需要确保您的Android清单配置正确(包括库中发生的任何清单合并以及库中的任何活动),并特别注意清单文件中应用程序中显示的第一个活动。

在终端中运行此命令也有助于查找问题:

gradlew build > log.txt 2>details.txt

然后您应该转到gradlew文件位置,读取上面的两个日志文件。