如何为多个命名空间配置 ProGuard 保留选项?
Posted
技术标签:
【中文标题】如何为多个命名空间配置 ProGuard 保留选项?【英文标题】:How to configure ProGuard keep options for multiple namespaces? 【发布时间】:2021-11-28 15:30:03 【问题描述】:我了解keep options of ProGuard 可以与通配符一起使用以包含完整的命名空间。例如:
-keepclassmembers class com.yourcompany.yourpackage.**
# relevant configuration
是否可以将相同的配置应用于多个个命名空间而不必重复配置两次?
例如,是否可以同时包含 io.
和 com.
命名空间?
-keepclassmembers class [com|io].yourcompany.yourpackage.**
# relevant configuration
【问题讨论】:
【参考方案1】:这是由ProGuard's Class Specifications决定的。
提供有限的选项,模仿正则表达式。但是,这些不包括通常用于表示选项的管道 (|
)。
但是,"[f] 或额外的灵活性,类名实际上可以是逗号分隔的类名列表,带有可选的!
否定符,就像文件名过滤器一样。这种表示法看起来不太Java -like,所以应该适度使用。”
谁在乎看起来不是很“像 Java”,我只是不想重复自己。此外,我正在使用 Kotlin。 =) 因此,以下应该可以工作:
-keepclassmembers class com.yourcompany.yourpackage.**, io.yourcompany.yourpackage.**
# relevant configuration
【讨论】:
以上是关于如何为多个命名空间配置 ProGuard 保留选项?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Webpack 中的每个入口点重命名 output.library 选项?