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

Proguard规则中-if关键字的含义是什么?以Kotlin序列化配置为例

Proguard -if 关键字作用说明

-if 是Proguard的条件规则触发关键字,核心作用是定义规则的前置生效条件:只有当-if后声明的匹配条件被满足时,才会执行紧随其后的配套规则,属于Proguard条件保留规则体系的核心语法。

你贴出的规则可以直接拆解为两部分逻辑:

  • 第一行是条件匹配:-if @kotlinx.serialization.Serializable class ** 会匹配项目中所有被@kotlinx.serialization.Serializable注解修饰的类,通配符**代表匹配任意包路径下的任意类
  • 第二行是条件满足后执行的保留规则:<1>是通配符占位符,会自动替换为前面-if条件匹配到的类的全限定名,整行规则的作用是保留对应类内部的静态Companion伴生对象成员,避免被Proguard混淆、裁剪

整段规则的最终效果就是:对所有加了kotlinx序列化注解的类,自动保留它的伴生对象,保证序列化库运行时能正常读取类的序列化元数据,不会因为混淆/裁剪出现运行时异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:54:03