我们已经切换到使用Jack编译器来开发Android应用,以利用Java8的特性。但是当我们启用了代码混淆(
minifyEnabled true
)后,我们发现应用程序在看似随机的位置崩溃了(旧的javac+proguard+dex环境下一切正常)。为了暂时节省时间,我们决定禁用代码混淆,但现在我们遇到的问题是,我们的错误报告库将所有调用栈报告为未知行号。我已确认我们使用Log.getStackTraceString
获取到相同的损坏堆栈跟踪信息。例如:com.foo.android.bar: XXX
at com.foo.android.bar.quax(Unknown Source)
唯一似乎能够使我们得到调用堆栈的方法是启用调试(debuggable true
),但我们不能将该应用提交到商店中。
有什么想法吗?