2013-05-04 69 views
0

我的代码工作正常,但应用的ProGuard后,我得到了以下异常Proguard的的NoSuchMethodError ITelephony

05-04 16:12:00.803: E/AndroidRuntime(22257): java.lang.NoSuchMethodError: com.android.internal.telephony.ITelephony.a

我是个有Itelephony.aidl但仍然得到错误。谁能告诉我是否有办法解决这个问题?

在谷歌上,我无法获得关于如何保持接口,接口成员和内部类以及内部类成员的示例的更多信息。

其实我想保留在我的应用程序的一切,但只是obsfucate和优化它。有没有办法实现它?

回答

6

你需要从ProGuard的,即添加此排除ITelephony类...

-keep class com.android.internal.telephony.ITelephony { *; } 

...进入你的proguard.cfg文件。你会在你的项目根文件夹中找到它。

Proguard是一种混淆代码的工具,即通过应用各种优化(例如重命名类)使代码变得更紧凑和更少可读。因此,在某些情况下,这可能会对功能产生负面影响,例如,如果你考虑动态反射调用。

干杯!

+0

谢谢..这没有把戏 – Adithya 2013-05-04 18:09:40