如何使用Java注释来指导Android的Proguard?

时间:2010-12-16 08:51:31

标签: java android annotations proguard

在Android上使用Proguard时,只会通过反射调用的方法(例如,在onClick XML属性中定义的回调)被错误地删除。

One solution这个问题是将每个受影响的类和方法添加到proguard.cfg。

如何使用Java注释来达到同样的效果?

我觉得这会使代码自我记录,并且会避免代码和proguard.cfg漂移不同步。但是,Android的Proguard似乎没有附带文档中提到的annotations.jar。

2 个答案:

答案 0 :(得分:7)

您可以从官方ProGuard版本中检索 annotations.jar annotations.pro 。然后,您应该能够使用所讨论的注释here

所有必要的选项都可以在proguard.cfg中找到。

答案 1 :(得分:5)

我最近遇到了这个问题。以下是您需要做的事情:

要修复onClick事件,请将其添加到Proguard设置

-keepclassmembers class * extends android.app.Activity{
   public void *(android.view.View);
}

保持注释添加

-keepattributes **-keepattributes *Annotation*

更多信息可以在这里找到http://www.simpligility.com/2010/12/hints-for-using-proguard-on-your-android-app/我使用maven-android-plugin编译Android应用程序,这篇文章几乎总结了我为android做的工作。希望这有帮助!