如何调试一个Android应用程序,它在使用ProGuard进行混淆后会出现运行时错误?
在用ProGuard编译了一个Android应用程序之后,我得到了运行时错误,因为代码被混淆了,我不知道错误来自哪里。 没有ProGuard,应用程序运行良好。 使用ProGuard编译也可以很好地工作。 如何调试模糊代码 以下是其中一个错误的外观:如何调试一个Android应用程序,它在使用ProGuard进行混淆后会出现运行时错误?,android,eclipse,proguard,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(
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)
在proguard输出文件夹中有映射 您需要首先找到
com.facebook.c.f
引用的实际类、方法等,然后查看代码
它使用反射吗?有引用类的字符串常量吗?etc看起来有些类试图通过反射访问模糊的方法,但找不到名称对应的方法。外部库可以使用com.facebook.abc包中的哪些类?