Crashlytics是否接收并解析展示Android原生崩溃的Tombstone数据?
获取并确认Crashlytics对Tombstone Traces的处理
从Android 12开始,我们可以通过ApplicationExitInfo获取Tombstone traces,示例代码如下:
val exitReasons = activityManager.getHistoricalProcessExitReasons() for (aei in exitReasons) { if (aei.reason == ApplicationExitInfo.REASON_CRASH_NATIVE) { val trace = aei.traceInputStream val tombstone = Tombstone.parseFrom(trace) } }
Tombstone trace对开发者修复原生崩溃问题帮助很大。我查看了Crashlytics的源码,其中有一段处理逻辑:
private static CrashlyticsReport.ApplicationExitInfo convertApplicationExitInfo( ApplicationExitInfo applicationExitInfo) { String traceFile = null; try { InputStream traceInputStream = applicationExitInfo.getTraceInputStream(); if (traceInputStream != null) { traceFile = convertInputStreamToString(traceInputStream); } } catch (IOException e) { // ..omitted } return CrashlyticsReport.ApplicationExitInfo.builder() // ..omitted .setTraceFile(traceFile) .build(); }
从这段代码能看到Crashlytics已经在发送traceFile,但我不确定这个文件是否支持Tombstone trace,想确认一下:Crashlytics是否已经对Tombstone进行了解析(即执行Tombstone.parseFrom(trace)操作),并将解析后的内容展示在Firebase控制台(console.firebase.com)上?
内容的提问来源于stack exchange,提问作者Aldo Wachyudi
相关产品推荐
相关产品推荐

