首页 > 解决方案 > 如何在伴随对象中保留内部变量

问题描述

我有以下类定义:

class SomeObject {

    companion object {
       internal val instance = SomeObject()
    }

}

这个类是自我维持的,只是在听事件。我的问题是 proguard 删除了“实例”字段。

我在我的 proguard 文件中写什么来保留实例字段(它可以被混淆,但我想防止该字段被视为“未使用的代码”)

标签: kotlinproguard

解决方案


proguard 规则应如下所示:

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

这样,您可以指定不应删除伴随对象的类(包括属性)。


推荐阅读