我有许多活动,当用户点击某些UI元素时要执行的处理程序方法被Proguard剥离,因为它无法看到它正被使用。
最佳解决方案是什么?
关闭proguard中的代码缩小功能(不理想,因为它在许多方面都有用)
有没有办法注释我希望它留下的方法?
如何调整proguard配置以永远不会删除以“on”开头的方法?
我尝试添加这一行(即不修剪从我的Activity对象的子类继承的方法),但它没有达到预期的效果。我认为它适用于类,但不适用于它们的方法。
-keep public class * extends com.myapp.CustomActivity
答案 0 :(得分:2)
对于您要维护的每个方法,在proguard文件中添加另一行:
-keepclassmembers class * { public void exampleMethodName1(android.view.View); public void exampleMethodName2(android.view.View); ... }
您可以在以下网址找到此主题:Proguard and reflection in Android