1

我想在应用程序崩溃时报告一个日志。我想将此报告发送到我的邮件中,我该如何实现这一点,谁能给出一个想法?

提前致谢

4

5 回答 5

1

您需要的是崩溃报告服务。选项太多:BugsenseFlurryTestFlightAcralizerGoogle Analytics for AndroidCrittercism等。

于 2013-09-19T11:20:54.317 回答
0

当然,捕获所有异常并使用本机电子邮件发送它是个好主意,但这是一个示例应用程序,您可以使用它收集 logcat 的输出并将其发送到电子邮件或消息传递。

https://code.google.com/p/android-log-collector/

您也可以在这里获得一些参考资料

http://l6n.org/android/sendlog.shtml

于 2013-09-19T11:24:47.340 回答
0

如果您使用 ACRA 来捕获应用程序中的崩溃,那么只需将 ACRA 配置为通过电子邮件发送报告即可。

请参阅https://github.com/ACRA/acra/wiki/AdvancedUsage#sending-reports-by-email

但是,如果您有大量用户(或可能会有),那么我强烈建议您使用托管的崩溃报告服务之一来汇总您的崩溃。因为即使您的应用程序是完美的,它也会因您使用的库中的错误、AOSP 本身、奇怪的设备、奇怪的 Android 实现、奇怪的设备状态而导致崩溃。

于 2013-09-19T23:08:38.757 回答
0

试试这个...

 Process process = Runtime.getRuntime().exec("logcat -e");
    BufferedReader bufferedReader = new BufferedReader(
    new InputStreamReader(process.getInputStream()));
    StringBuilder log=new StringBuilder();
    String line = "";
    while ((line = bufferedReader.readLine()) != null) {
     log.append(line);
    }

现在使用意图邮件字符串行...

    Intent email = new Intent(Intent.ACTION_SEND);
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{"aaa@sdf.com"});          
    email.putExtra(Intent.EXTRA_SUBJECT, "Crash Report");
    email.putExtra(Intent.EXTRA_TEXT, line);
    email.setType("message/rfc822");
    startActivity(Intent.createChooser(email, "Choose an Email client :"));

使用此链接更多帮助....

http://www.coderzheaven.com/2011/07/16/how-to-read-logcat-contents-programmatically-in-android/

于 2013-09-19T11:27:29.823 回答
0

使用Crittercism时,它们提供了获取带有崩溃报告的 logcat 快照的功能。

在此处查看如何激活它:

https://app.crittercism.com/developers/docs-android#Include_Logcat

这目前在付费计划下可用,请参阅此处以供参考:

https://www.crittercism.com/pricing/

于 2013-09-19T20:30:24.990 回答