You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ProGuard高级模式匹配:如何配置规则排除多个包保留其余类

ProGuard 多包排除保留规则正确写法

ProGuard 原生不支持括号包裹逗号分隔多个否定匹配项的语法,类匹配规则按从左到右的顺序线性生效,否定规则必须前置,多个排除项需要逐个添加!前缀声明,最后追加正向匹配范围即可。

排除org.myorg.special、org.myorg.another两个包(包含其下所有子包)、保留其余所有类的正确配置如下:

-keep class !org.myorg.special.**, !org.myorg.another.**, ** { *; }

语法说明

  • !org.myorg.special.**:匹配org.myorg.special包及其所有子包下的类,标记为不纳入保留范围
  • !org.myorg.another.**:同理标记第二个包下的类不纳入保留范围
  • 末尾的**:匹配全量类路径下的所有类,作为最终保留的范围
  • 如果仅需要排除两个包根目录下的类、不需要排除子包内容,把规则里的.**替换为.*即可

注意:不要颠倒规则顺序,如果把正向匹配的**写在否定规则前面,否定规则会直接失效,所有类都会被保留。

内容的提问来源于stack exchange,提问作者datahaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:54:26