我想在应用程序崩溃时报告日志。我想将此报告发送到我的邮件,我该如何实现这个可以任何人提出想法?
提前致谢
答案 0 :(得分:0)
您需要的是崩溃报告服务。选项太多:Bugsense,Flurry,TestFlight,Acralizer,Google Analytics for Android,Crittercism等。
答案 1 :(得分:0)
当然,捕获所有异常并使用本机电子邮件发送它是个好主意,但这是一个示例应用程序,您可以使用它收集logcat的输出并将其发送到电子邮件或消息。
https://code.google.com/p/android-log-collector/
你也可以在这里得到一些参考资料
答案 2 :(得分: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/
答案 3 :(得分:0)
使用 Crittercism 时,它们提供了使用崩溃报告获取logcat快照的功能。
请点击此处了解如何激活:
https://app.crittercism.com/developers/docs-android#Include_Logcat
目前可在付费方案下使用,请参阅此处以供参考:
答案 4 :(得分:0)
如果您使用ACRA捕获应用中的崩溃,那么只需配置ACRA即可通过电子邮件发送报告。
请参阅https://github.com/ACRA/acra/wiki/AdvancedUsage#sending-reports-by-email
但是如果您有大量用户(或可能会有),那么我强烈建议您使用其中一个托管的崩溃报告服务来聚合您的崩溃。因为即使你的应用程序是完美的,它也会因你使用的库中的错误,AOSP本身,奇怪的设备,奇怪的Android实现,奇怪的设备状态而产生崩溃。