微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

改造响应中的Proguard中断类变量

如何解决改造响应中的Proguard中断类变量

我有WhoIAmResponseProfileResponse,但如果我尝试从ProfileResponse获得任何价值,我会得到kotlin NPE。我在Logcat中进行调试的尝试表明,配置文件响应已被r8混淆(但在proguard-rules中对此规则有规定)

Timber.i(whoIAmResponseBody.result.toString())
Timber.i(whoIAmResponseBody.result.profile.toString())

if (whoIAmResponseBody.result.profile == null)
  Timber.e("profile NULL")
else {
   Timber.i("profile NOT null")
   Timber.e(whoIAmResponseBody.result.profile?.name
         ?: "username NULL") //here i get NPE (and anywhere below if i try to access profile values)
 }

data class WhoIAmResponse(
    @Serializedname("id")
    val userId: Long? = null,@Serializedname("suid")
    val suId: Long? = null,@Serializedname("userid")
    val userProfileId: Long? = null,@Serializedname("profile")
    val profile: ProfileResponse? = null
) : BaseResponse()


data class ProfileResponse(
    @Serializedname("id") val id: Long,@Serializedname("username") val username: String? = null
)

enter image description here

最新的保护规则https://pastebin.com/ZWQLjbSa

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。