Proguard: сохраняйте информацию об элементе класса данных, свойство которого имеет аннотацию c - PullRequest
0 голосов
/ 18 апреля 2020

В настоящее время я создаю библиотеку для частного использования, которая предоставляет аннотацию (назовем ее @Something), которую можно использовать в свойствах класса данных. Я создал аннотацию примерно так:

@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.PROPERTY)
annotation class Something

Она будет использоваться следующим образом

data class SomeDataClass (val param1: String, @Something val param2: String, val param3: String)

Затем я хочу получить доступ к следующим вещам в классе, который содержит свойства с этим аннотация:

  • memberFunctions (для получения конструктора копирования)
  • параметры конструктора копирования
  • memberProperties
  • аннотации свойств
  • имя свойства
  • Элемент списка

Теперь все работает правильно, пока я не сверну свою библиотеку с помощью ProGuard. Насколько я понимаю, мне нужно описать мои правила ProGuard в consumer-rules.pro. Но что именно мне нужно добавить сюда? Я хочу, чтобы все классы данных в приложении, использующем мою библиотеку, со свойством, помеченным @Something, были сохранены, чтобы я мог прочитать из него вышеприведенные вещи.

...