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

Luí*_*ira 11 java android annotations proguard

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

此问题的一个解决方案是将每个受影响的类和方法添加到proguard.cfg中.

如何使用Java注释来实现相同的效果?

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

Eri*_*une 7

您可以检索annotations.jarannotations.pro从官方发布的ProGuard.然后,您应该能够使用此处讨论的注释

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


Ami*_*far 5

我最近遇到了这个问题.这是你需要做的:

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

-keepclassmembers class * extends android.app.Activity{
   public void *(android.view.View);
}
Run Code Online (Sandbox Code Playgroud)

保持注释添加

-keepattributes ** 要么 -keepattributes *Annotation*

更多信息请访问http://www.simpligility.com/2010/12/hints-for-using-proguard-on-your-android-app/我使用maven-android-plugin编译Android应用程序,这篇文章很漂亮我总结了我为android做的事情让它运转起来.希望这可以帮助!