Proguard NoSuchMethodError ITelephony

时间:2013-05-04 10:51:59

标签: android proguard

我的代码工作正常,但在应用proguard后,我收到以下异常

  

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

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

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

实际上我想保留我的应用程序中的所有内容,但只是提供并优化它。有没有办法实现它?

1 个答案:

答案 0 :(得分:7)

您需要从 proguard 中排除ITelephony类,即添加此内容...

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

...输入您的proguard.cfg文件。您可以在项目根文件夹中找到它。

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

干杯!