Java Android是否每次运行时都在服务器/数据库上保存日志以获取崩溃报告?

Java Android是否每次运行时都在服务器/数据库上保存日志以获取崩溃报告?,java,android,Java,Android,我目前正在开发一款android应用程序。我注意到一个非常罕见的错误,导致我的应用程序崩溃。不幸的是,我的智能手机从来没有连接到我的电脑时,它发生了。那么,有没有一种方法可以自动将所有日志保存到服务器/数据库(尤其是抛出的运行时异常)。每次启动我的应用程序时,错误数据都应该被覆盖,以便它只包含上次运行的日志。。。我怎样才能做到这一点 谢谢 Mahak SinghviLogcat 您可以使用Logcat。它是一个命令行工具,用于转储系统消息、堆栈跟踪以及使用log类从应用程序写入的消息的日志 您可

我目前正在开发一款android应用程序。我注意到一个非常罕见的错误,导致我的应用程序崩溃。不幸的是,我的智能手机从来没有连接到我的电脑时,它发生了。那么,有没有一种方法可以自动将所有日志保存到服务器/数据库(尤其是抛出的运行时异常)。每次启动我的应用程序时,错误数据都应该被覆盖,以便它只包含上次运行的日志。。。我怎样才能做到这一点

谢谢 Mahak Singhvi

Logcat 您可以使用Logcat。它是一个命令行工具,用于转储系统消息、堆栈跟踪以及使用log类从应用程序写入的消息的日志

您可以将logcat作为adb命令运行(或直接在shell提示符中运行)

Logcat还可以直接写入文件:

public static void backupLogcatToFile(Context context) {    
  String fileName = "logcat_" + System.currentTimeMillis() + ".txt";
  File outputFile = new File(context.getExternalCacheDir(), fileName);
  Process process = Runtime.getRuntime().exec("logcat -f " + outputFile.getAbsolutePath());
}
开源项目 该项目是一个自动保存logcat的Android服务。它提供了一个HTTP服务器,允许您保存和下载logcat数据,而无需adb连接到设备


如果您需要在应用程序发布后收集崩溃日志,您可以使用。

这里有一篇文章讨论您的问题:
public static void backupLogcatToFile(Context context) {    
  String fileName = "logcat_" + System.currentTimeMillis() + ".txt";
  File outputFile = new File(context.getExternalCacheDir(), fileName);
  Process process = Runtime.getRuntime().exec("logcat -f " + outputFile.getAbsolutePath());
}