当与Android一起使用Proguard时,仅通过反射调用的方法(例如,OnClick XML属性中定义的回调)被错误地剥离出来。

一个解决方案 对于这个问题,是将每个受影响的类和方法添加到您的proguard.cfg。

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

我觉得这将使代码进行自我记录,并且可以避免代码和proguard.cfg从同步中移出。但是,Android的Proguard似乎并没有带有注释。文档中提到的Jar。

有帮助吗?

解决方案

您可以检索 annotations.jarannotations.pro 来自正式的前卫版本。然后,您应该能够使用所讨论的注释 这里

所有必要的选项都可以在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所做的工作以使其正常工作。希望这可以帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top