最近升级了一下工具,结果打包的时候出问题了,类型转换异常(Class cannot be cast to java.lang.reflect.ParameterizedType)

乍一看是混淆规则没写好,bean类转换出问题了,结果研究了一晚上才发现是AGP升级到8.x导致Retrofit的混淆问题

需要再混淆规则里面添加

# 使用R8全模式,对未保留的类剥离通用签名。挂起函数被包装在使用类型参数的continuation中。
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation

# 如果不保留,R8完整模式将从返回类型中剥离通用签名。
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>

# 在R8全模式下,对未保留的类剥离通用签名。
-keep,allowobfuscation,allowshrinking class retrofit2.Response

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐