This question already has answers here:
Proguard Retrace not working with stacktrace runtime info like E/AndroidRuntime(10237):
(3个答案)
3年前关闭。
我正在构建Proguard混淆的发行版APK。我添加了前两个规则,以帮助我解码logcat可能吐出的任何错误。
应用程序崩溃的错误如下:
前两个规则通过向我显示实际的行号有所帮助,但是我很难弄清楚“ e.b.a”和“ e.b”的含义。任何帮助都感激不尽。
编辑:
使用ReTrace工具后,我收到以下信息:
(3个答案)
3年前关闭。
我正在构建Proguard混淆的发行版APK。我添加了前两个规则,以帮助我解码logcat可能吐出的任何错误。
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-keep @io.realm.annotations.RealmModule class *
-dontwarn javax.**
-dontwarn io.realm.**
-dontwarn rx.internal.**
#Butterknife
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
#EventBus
-keepclassmembers class ** {
public void onEvent*(**);
}
#JodaTime
-dontwarn org.joda.convert.**
-dontwarn org.joda.time.**
-keep class org.joda.time.** { *; }
-keep interface org.joda.time.** { *; }
应用程序崩溃的错误如下:
AndroidRuntime:Error at com.example.app.e.b.a(SourceFile:65)
AndroidRuntime:Error at com.example.app.e.b.doInBackground(SourceFile:21)
前两个规则通过向我显示实际的行号有所帮助,但是我很难弄清楚“ e.b.a”和“ e.b”的含义。任何帮助都感激不尽。
编辑:
使用ReTrace工具后,我收到以下信息:
07-30 13:38:44.886 E/AndroidRuntime(5563): Process: com.example.app, PID: 5563
07-30 13:38:44.886 E/AndroidRuntime(5563): at com.example.app.e.c$a.a(SourceFile:266)
07-30 13:38:44.886 E/AndroidRuntime(5563): at com.example.app.e.c$a.doInBackground(SourceFile:250)
07-30 13:38:44.886 E/ActivityManager(1173): App crashed! Process: com.example.app
最佳答案
使用关于proguard http://developer.android.com/tools/help/proguard.html的文档,您将看到可以使用sdk工具中包含的proguard对堆栈跟踪进行模糊处理。retrace.bat -verbose mapping.txt obfuscated_trace.txt
如您所见,如果您使用构建APK(或原始Java中的JAR)时生成的mapping.txt文件,则可以取消混淆堆栈跟踪。
如果您喜欢使用GUI,也可以在Android SDK文件夹<path>/sdk/tools/proguard/bin/proguardgui.{bat|sh}
中查看。 GUI允许您选择映射文件,然后将堆栈跟踪复制/粘贴到窗口中以进行模糊处理。
关于java - Proguard混淆导致隐秘错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31733314/
10-13 05:30