繁体   English   中英

为什么minifyEnabled会显示我的大部分代码?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM