1

我有许多活动,其中当用户点击某些 UI 元素时要执行的处理程序方法被 Proguard 剥离,因为它看不到它正在被使用。

最好的解决方案是什么?

  • 关闭 proguard 中的代码收缩功能(不理想,因为它在许多领域都有好处)

  • 有没有办法注释我希望它留下的方法?

  • 如何调整 proguard 配置以从不删除以“on”开头的方法?

我尝试添加这一行(即不要修剪从我的 Activity 对象的子类继承的方法),但它没有达到预期的效果。我认为它适用于类,但不适用于它们的方法。

-keep public class * extends com.myapp.CustomActivity
4

1 回答 1

2

对于您要维护的每种方法,请在 proguard 文件中添加另一行:

-keepclassmembers 类 * { public void exampleMethodName1(android.view.View); public void exampleMethodName2(android.view.View); ... }

您可以在以下位置找到该主题:Proguard 和 Android 中的反射

于 2011-02-16T20:21:43.237 回答