如何告诉ProGuard保留用于onClick的功能?

fin*_*oop 12 android proguard

我使用的android:onClick属性附加伤害一些对我的Android应用我的.xml布局文件,但是当它运行,因为没有在我的代码是不断打电话给他们的ProGuard是消除从我的代码这些方法.

而不是单独指定每个函数,我想给它们命名listener_functionName,并使用通配符,-keep listener_*(我知道这是不正确的,但希望它说明了我的目标).

如果这可能会很好,但如果不是,我仍然需要知道如何在proguard.cfg文件中指定这些函数.任何帮助表示赞赏.

Die*_*ano 21

根据proguard文档:

还可以使用正则表达式指定字段和方法.名称可以包含以下通配符:匹配方法名称中的任何单个字符.*匹配方法名称的任何部分.

所以,你会发现指定

-keep class com.example.MyClass {
  public void listener_*(android.view.View);
}
Run Code Online (Sandbox Code Playgroud)

在你的proguard标志.