[英]Why does minifyEnabled show most of my code?
我的ProGuard中有这门课程。
-keep,allowshrinking class com.MyClass {
public <methods>;
protected <methods>;
public static <methods>;
public <init>(...);
}
当我看到AAR时,它显示如下:
public class MyClass implements a {
private static final MyClass a = new MyClass();
private a b = new b();
private MyClass() {
}
public static MyClass getInstance() {
return a;
}
public void doSomething(int var1, int var2) {
this.b.doSomething(var1, var2);
}
}
如果我去private ab = new b();
并且做Crtl + b
我能够读取b
类的代码。 该代码不应该被混淆吗? 我如何强制它被混淆?
这是b
类中应该被混淆的内容。
class b implements a {
b() {
}
public void doSomething(int var1, int var2) {
int var3 = var1 + var2;
}
}
ProGuard的混淆功能仅限于重命名类/方法/字段名称。 如果您需要更复杂的混淆(模糊实际代码/指令),您应该看看ProGuard的商业变体DexGuard 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.