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

签名发布构建调用第三方AAR SDK报错,求对应ProGuard规则

解决Release构建中SimpleXML实例化第三方SDK类的ProGuard规则

这个问题是因为Release构建开启ProGuard混淆后,com.ecs.abc.ESignProcessor类的关键信息被混淆或移除,导致SimpleXML无法通过反射实例化它——Debug模式未开启混淆,类结构完整所以能正常工作。

你需要添加以下ProGuard规则来修复:

  1. 核心规则:保留目标类的无参构造函数和所有成员,避免混淆
-keep class com.ecs.abc.ESignProcessor {
    public <init>(); // 保留无参构造函数,SimpleXML反射实例化必需
    *; // 保留所有成员变量和方法,防止XML映射失败
}
  1. 补充规则:确保SimpleXML的注解和核心类不被混淆(如果该SDK使用了SimpleXML注解)
# 保留SimpleXML的注解类和核心类
-keep class org.simpleframework.xml.** { *; }
-keepattributes *Annotation* // 保留所有注解,确保XML解析逻辑正常
  1. 可选扩展:如果该SDK包下还有其他被SimpleXML依赖的类,直接保留整个包
-keep class com.ecs.abc.** { *; }

这些规则的作用是:阻止ProGuard重命名类、删除无参构造函数或移除注解,保证SimpleXML能够正常通过反射实例化ESignProcessor并完成XML解析相关操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:12:04