我正在尝试使用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但它没有帮助。
答案 0 :(得分:0)
如果&#34; com.path.to.not.obfuscated.location&#34;是在.jar, 在您的proguard.cfg文件中,您必须添加如下所示的行:
-libraryjars /libs/the_jar_name.jar
答案 1 :(得分:0)
我有一个错误。
我试着将我在getConstructor()
中作为参数输入的类进行非混淆,但我需要做的是取消混淆正在调用的类getConstructor()
。