如何为多个命名空间配置ProGuard保留选项?



我理解ProGuard的keep选项可以与通配符一起使用,以包括完整的命名空间。例如:

-keepclassmembers class com.yourcompany.yourpackage.** {
# relevant configuration
}

是否可以将相同的配置应用于多个名称空间而不必重复配置两次?

例如,是否可能同时包含io.com.命名空间?

-keepclassmembers class [com|io].yourcompany.yourpackage.** {
# relevant configuration
}

这是由ProGuard的类规范决定的。

有限的选项,模仿正则表达式,可用。但是,这些不包括通常用于表示选项的管道(|)。

然而,"[f]或额外的灵活性,类名实际上可以是逗号分隔的类名列表,具有可选的!否定符,就像文件名过滤器一样。这个符号看起来不太像java,所以应该适度使用。">

谁在乎看起来不太"像java",我只是不想重复。此外,我正在使用Kotlin。=)下面的代码应该可以工作:

-keepclassmembers class com.yourcompany.yourpackage.**, io.yourcompany.yourpackage.** {
# relevant configuration
}

最新更新