Android项目升级插件到kotlin 2.1.0后混淆网络请求异常

背景

项目kt插件1.9.24升级到2.1.0后打包编译release网络请求失败了。

retrofit版本2.9.0

错误详情

java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
 at retrofit2.m.a(Unknown Source:2477)
 at retrofit2.K.invoke(Unknown Source:95)
 at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
 at $Proxy7.checkToken(Unknown Source)
 at 

解决方案

直接把retrofit升级到com.squareup.retrofit2:retrofit:2.11.0

混淆配置添加

# Keep generic signature of Call, Response (R8 full mode strips signatures from non-kept items).
 -keep,allowobfuscation,allowshrinking interface retrofit2.Call
 -keep,allowobfuscation,allowshrinking class retrofit2.Response

 # With R8 full mode generic signatures are stripped for classes that are not
 # kept. Suspend functions are wrapped in continuations where the type argument
 # is used.
 -keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation

即可解决

你可能感兴趣的:(Android应用层开发,android,kotlin,开发语言)