我在我的android应用程序的一些.xml布局文件中使用了android:onClickatribute,但是proguard在我的代码运行时将这些方法从代码中删除,因为我的代码中从来没有调用过它们。
与其单独指定每个函数,不如将它们命名为listener_functionName,并使用通配符,如-keep listener_*(我知道这是不正确的,但希望它能说明我的目标)。
如果这是可能的,那会很好,但如果不是,我仍然需要知道如何在proguard.cfg文件中指定这些函数。如有任何帮助,我们将不胜感激。

最佳答案

根据proguard文档:
字段和方法也可以是
使用正则表达式指定。
名称可以包含以下内容
通配符:?匹配任何单个
方法名中的字符。
*匹配方法名的任何部分。
所以,你会发现

-keep class com.example.MyClass {
  public void listener_*(android.view.View);
}

在你的前卫旗上。

关于android - 如何告诉ProGuard保留用于onClick的功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6084861/

10-14 18:56
查看更多