【问题标题】:Proguard with shrinking and line number具有收缩和行号的 Proguard
【发布时间】:2016-10-16 05:05:17
【问题描述】:

我注意到 Google 建议使用带有收缩和优化功能的 proguard。 但是,如果我们这样做,那么在报告错误的情况下,我们不会丢失行号跟踪吗?错误中报告的行号与代码的实际行号不匹配,因此您无法真正看到错误发生的位置

我错过了什么吗?我们不应该禁用收缩! 谢谢

【问题讨论】:

    标签: android android-proguard


    【解决方案1】:

    ProGuard 可以选择保留行号信息和混淆名称的映射,因此您可以将其追溯到原始代码。

    -printmapping out.map
    
    -renamesourcefileattribute SourceFile
    -keepattributes SourceFile,LineNumberTable
    

    更多信息在这里:
    http://proguard.sourceforge.net/manual/examples.html#stacktrace

    【讨论】:

    • 是的,我了解保留班轮编号。但是当您收到带有行号的错误报告时,它将基于生成的 apk,其中包含压缩代码。因此,收缩代码中的第 100 行可能是原始代码中的第 130 行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    相关资源
    最近更新 更多