如何阻止ProGuard删除作为注释参数给出的类?

时间:2013-07-29 13:55:37

标签: android annotations proguard

我有一个注释可以在Fragments上设置生命周期监听器,但是ProGuard会将我给出的类作为参数剥离:

@LifecycleListener(listeners = {Listener1.class, Listener2.class})
public class SomeFragment extends LifecycleAnnotationAwareFragment {
    ...
}

我知道如何告诉Proguard不要剥离LifecycleListener.class,而不是如何告诉它将所提到的类视为“需要”的听众。

此功能是否可配置?

1 个答案:

答案 0 :(得分:0)

目前在ProGuard中似乎没有对此的支持,但通过类比他们的注释处理方法,以下方法有效:

  1. 让所有听众'名称匹配* LifecycleListener
  2. 告诉ProGuard保留所有此类课程
  3. 任选地:

    1. 如果有人试图添加名称不好的内容,请告诉代码将这些侦听器添加到对象中。