Как сохранить внутреннюю переменную в объекте-компаньоне - PullRequest
1 голос
/ 21 января 2020

У меня есть следующее определение класса:

class SomeObject {

    companion object {
       internal val instance = SomeObject()
    }

}

Этот класс самоподдерживающийся и просто слушает события. Моя проблема в том, что proguard удаляет поле «instance».

Что я пишу в моем файле proguard, чтобы сохранить поле экземпляра (оно может быть запутано, но я хочу, чтобы поле не считалось «неиспользованным» код ")

1 Ответ

0 голосов
/ 21 января 2020

Правило proguard должно выглядеть следующим образом:

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

Таким образом, вы можете указать классы, объект сопутствующего объекта не должен быть удален (включая свойство).

...