使用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)
答案 0 :(得分:0)
在proguard输出文件夹里面有映射。
首先需要找到com.facebook.c.f
引用的实际类,方法等,然后查看代码。
它是否使用反射?任何引用类的字符串常量?等