Crashlitycs在Kotlin迁移后报告错误的行号

时间:2018-09-26 19:53:14

标签: android kotlin crashlytics google-fabric

将应用程序迁移到Kotlin后,Crashlytics报告显示错误的行号,我的保护程序文件中已经有-keepattributes SourceFile,LineNumberTable

错误的行号报告示例:

http://crashes.to/s/419b5b28766

2 个答案:

答案 0 :(得分:2)

问题是R8正在应用额外的优化功能,以使用小整数而不是实数行来节省空间。

当您尝试使用位于/sdk/tools/proguard/bin/retrace.sh的Android sdk文件夹中的回溯脚本进行模糊处理时,就会出现模糊处理的问题。

tools文件夹内的proguard的版本为4.7,无法消除对优化行号stacktrace的混淆。

解决方案是下载最新的官方proguard版本 here并使用 使用bin文件夹中的retrace工具,则即使启用了R8,行号也将正确消除混淆。 您可以使用latest_proguard/bin/retrace.sh mapping.txt stacktrace.txt

手动进行验证

参考:https://issuetracker.google.com/issues/122752644

答案 1 :(得分:0)

我禁用了R8,它工作正常,报表上的行代码现在显示正确的行号