【问题标题】:proguard stack trace line numbers missingproguard 堆栈跟踪行号丢失
【发布时间】:2015-03-02 10:04:50
【问题描述】:

我在从我的 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) 

非常感谢,

火葬

【问题讨论】:

    标签: numbers stack line proguard trace


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2011-02-19
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多