【问题标题】:Can't change destination of 'Take bug report'无法更改“获取错误报告”的目的地
【发布时间】:2016-02-08 17:34:09
【问题描述】:

我有一个应用程序仅在一台运行 4.4.2 的 android 设备上崩溃。我在设备上打开了“设置->开发人员选项->获取错误报告”,它问我——只是第一次——将错误报告发送到哪里:我选择了“安卓电子邮件”。

当我重现崩溃时,设备发送了一条错误消息:我收到了电子邮件,但附件不知何故丢失了。我再次尝试打开“获取错误报告”,这一次它没有询问将报告发送到哪里。我重现了崩溃并收到了另一封没有任何附件的电子邮件。

我想尝试将错误报告发送到 dropbox 或 gmail,但似乎没有办法更改处理错误报告的应用程序:一旦您选择了“android 邮件”,您就会被卡住它。

关于如何获取日志有什么建议吗?

【问题讨论】:

  • 告诉我们更多关于您正在使用的“获取错误报告”功能。你在哪里打开的?它是应用程序、库还是 Android 操作系统的一部分?

标签: android debugging


【解决方案1】:

当 Android 停止允许 CatLog 等应用查看日志文件时(显然是出于安全原因),我尝试使用这种方法访问设备上的崩溃日志。

我从未设法让它工作,但在研究它时我发现了 CustomExceptionHandler 功能,该功能将崩溃日志写入文件夹。

我的应用程序随后可以访问日志文件并转发给我:我实际上是使用 PHP 完成的,但您也可以使用电子邮件。您也可以将崩溃日志写入 SD 卡,然后手动将它们传输到您的计算机。

private static final String STACK_TRACE_EXTENSION = ".stack";
private static final String CRASHLOG_DIR = "crashlog";
private static File logDir = null;
private static Thread crashLogThread = null;

public static void initialise (Context context) {

    logDir = new File (context.getFilesDir (), CRASHLOG_DIR);
    logDir.mkdirs ();

    if (!(Thread.getDefaultUncaughtExceptionHandler() instanceof CustomExceptionHandler)) {
        Thread.setDefaultUncaughtExceptionHandler(new CustomExceptionHandler(logDir));
    }

}

【讨论】:

    【解决方案2】:

    如果“Android Mail”有缓存,只需将缓存作为默认应用程序删除,当您发送另一个错误报告时,Gmail/Drive 和其他选项将重新出现。

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 2021-03-24
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2022-11-11
      • 2015-04-03
      相关资源
      最近更新 更多