android缺少方法和类中的proguard混淆

时间:2014-08-12 07:44:31

标签: android obfuscation proguard

我正在尝试使用proGuard模糊我的应用程序并收到这些错误:

Could not find class 'android.hardware.ConsumerIrManager', referenced from method com.g.b.d

我找到了使用它的类并设置了ProGuard来保持它,但它仍然存在。

另一个问题是获得此异常:

java.lang.NoSuchMethodException: <init> [class com.path.to.not.obfuscated.location]
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getConstructor(Class.java:431)

我的proguard-properties包含:

-libraryjars /mnt/storage/bin/sdk/platforms/android-19/android.jar    

-keep public class * extends com.path.to.not.obfuscated.location

-keepclassmembers public class * extends com.path.to.not.obfuscated.location{
 public <init>(android.content.Context);
}

我认为第一行会处理android.hardWare.ConsumerIrManager问题而另一行会处理这个问题中的反射:Proguard and reflection in Android但它没有帮助。

2 个答案:

答案 0 :(得分:0)

如果&#34; com.path.to.not.obfuscated.location&#34;是在.jar, 在您的proguard.cfg文件中,您必须添加如下所示的行:

-libraryjars /libs/the_jar_name.jar

答案 1 :(得分:0)

我有一个错误。 我试着将我在getConstructor()中作为参数输入的类进行非混淆,但我需要做的是取消混淆正在调用的类getConstructor()