如何调试在使用ProGuard进行模糊处理后产生运行时错误的Android应用程序?

时间:2014-09-01 16:52:57

标签: android eclipse proguard

使用ProGuard编译Android应用程序后,我遇到了运行时错误,并且由于代码被混淆了,我不知道错误来自哪里。 没有ProGuard,该应用程序工作正常。 使用ProGuard进行编译也可以正常工作。 你如何调试混淆代码?

以下是其中一个错误的样子:

com.facebook.aq: com.facebook.c.f got an unexpected method signature: 
public abstract  java.lang.Object com.facebook.c.c.a(java.lang.String)
at com.facebook.c.h.a(Unknown Source)
at com.facebook.c.f.b(Unknown Source)
at com.facebook.c.f.invoke(Unknown Source)
at $Proxy0.a(Native Method)
at com.facebook.b.al.a(Unknown Source)
at com.facebook.b.al.a(Unknown Source)
at com.facebook.f.run(Unknown Source)
at java.util.Timer$TimerImpl.run(Timer.java:284)

1 个答案:

答案 0 :(得分:0)

在proguard输出文件夹里面有映射。

首先需要找到com.facebook.c.f引用的实际类,方法等,然后查看代码。

它是否使用反射?任何引用类的字符串常量?等