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.ParameterizedTypeat 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
即可解决