proguard堆栈跟踪行号丢失

时间:2015-02-13 23:07:28

标签: numbers stack line proguard trace

我遇到了从我的Proguarded应用程序中恢复堆栈跟踪的问题,我非常感谢您的帮助。

即使我明确要求保留SourceFile和LineNumberTable等属性,但实际上并没有为我的应用程序保留这些属性。

我已经尝试过禁用缩小,优化以及除了混淆本身以外的所有内容但似乎没有任何效果。我已经查找了其他问题,但只是通过保留SourceFile和LineNumberTable属性来修复所有人,但这对我来说并不适用。

我使用的是Proguard 4.6版,jdk 1.6。通过ant脚本使用javac创建的Jar文件。

Proguard配置:

-libraryjars '...'  #library jars here, omitted
-injars 'filename.jar'
-outjars 'export/filename.jar'

#-useuniqueclassmembernames
-dontusemixedcaseclassnames
-dontshrink
-dontskipnonpubliclibraryclassmembers
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-keepparameternames
-printmapping 'export/mapping.map'
-dontoptimize
-dontnote "!DuplicateClassPrinter*"
-keep class org.** { *; }
-dontwarn org.**

-keep class myprogram.engine.scripting.functions.** {
    <methods>;
}

-keep class scriptfacade.** {
    <fields>;
    <methods>;
}

-keep,allowshrinking class myprogram.engine.scripting.functions.* {
    <methods>;
}

#...default keep classes etc below (omitted) 

非常感谢,

柴堆

1 个答案:

答案 0 :(得分:0)

实际上问题不在于proguard,而是默认情况下不保留行号。见this link