背景
项目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
即可解决