在Android上使用Proguard时,只会通过反射调用的方法(例如,在onClick XML属性中定义的回调)被错误地删除。
一个解决方案 这个问题是将每个受影响的类和方法添加到proguard.cfg中。
如何使用Java注释来实现相同的效果?
我觉得这会使代码自我记录,并避免代码和proguard.cfg漂移不同步。但是,Android的Proguard似乎没有随其文档中提到的annotations.jar一起提供。
在Android上使用Proguard时,只会通过反射调用的方法(例如,在onClick XML属性中定义的回调)被错误地删除。
一个解决方案 这个问题是将每个受影响的类和方法添加到proguard.cfg中。
如何使用Java注释来实现相同的效果?
我觉得这会使代码自我记录,并避免代码和proguard.cfg漂移不同步。但是,Android的Proguard似乎没有随其文档中提到的annotations.jar一起提供。
你可以检索 annotations.jar
和 annotations.pro
来自官方的ProGuard版本。然后,您应该能够使用所讨论的注释 这里
所有必要的选项都可以在proguard.cfg中找到。
我最近遇到了这个问题。这是你需要做的:
要修复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做的工作。希望这可以帮助!
你可以检索 annotations.jar
和 annotations.pro
来自官方的ProGuard版本。然后,您应该能够使用所讨论的注释 这里
所有必要的选项都可以在proguard.cfg中找到。
我最近遇到了这个问题。这是你需要做的:
要修复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做的工作。希望这可以帮助!