如何在伴随对象中保留内部变量

How to keep internal var in companion object

我有以下 class 定义:

class SomeObject {

    companion object {
       internal val instance = SomeObject()
    }

}

这个class是自我维持的,只是在监听事件。 我的问题是混淆器删除了 "instance" 字段。

我在 proguard 文件中写了什么来保留实例字段(它可以被混淆,但我想让该字段不被视为 "unused code")

proguard 规则应如下所示:

-keepclassmembers class com.your.package.path.SomeObject {
    public static ** Companion;
}

通过这种方式,您可以指定 类 不应删除的伴生对象(包括 属性)。