我遇到了从我的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)
非常感谢,
柴堆