wir*_*bly 29 java android proguard
我发现自己在报告的堆栈跟踪中需要更多细节,但我担心通过包含额外的数据(通过使用-keepattributes SourceFile,LineNumberTable),我使我的应用程序更容易进行逆向工程.是这样的,如果是这样,多少钱?
Eri*_*une 40
SourceFile属性是必需的,因为Oracle/Sun的Java虚拟机在堆栈跟踪中不包含行号,这是您真正想要的(并且它本身是无害的).我没有检查Android的Dalvik虚拟机是否属实.
至于解决方案,ProGuard可以保留SourceFile属性,但用你选择的无意义字符串替换它的内容,例如
-renamesourcefileattribute SourceFile
Run Code Online (Sandbox Code Playgroud)
字符串的值对于解释堆栈跟踪并不重要.选择像"SourceFile"这样的字符串可以避免增加类文件大小,因为根据定义,此字符串已经存在.