1

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

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

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

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

实际上,我想将所有内容都保留在我的应用程序中,但只是对其进行混淆和优化。有没有办法实现它?

4

1 回答 1

7

您需要从proguardITelephony中排除该类,即添加此...

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

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

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

干杯!

于 2013-05-04T11:04:24.730 回答