ClassCastException报错j.u.v无法转成MutableList,j.u.v是什么含义?
ClassCastException报错中j.u.v的含义说明
j.u.v是代码经过ProGuard/R8混淆后生成的缩略类名,不属于Java/Kotlin官方标准类,也没有固定的公开含义- 安卓应用构建开启混淆后,工具会自动将所有自定义类、三方库类的全类名压缩为单字母包名+单字母类名的短格式,作用是缩小安装包体积、提升反编译门槛
问题排查方案
- 查找项目构建时生成的
mapping.txt映射文件,在文件中搜索j.u.v即可匹配到对应的原始全类名 - 确认原始类的业务场景后,排查对应代码的强转逻辑:这类崩溃通常是泛型擦除场景下(比如JSON反序列化、SP存储读取、跨组件传递数据)没有做类型合法性校验,直接将非集合类对象强转为
MutableList导致 - 临时在build.gradle中将
minifyEnabled配置改为false关闭混淆后复现问题,崩溃堆栈会直接输出原始类名,可以更快定位问题
内容的提问来源于stack exchange,提问作者Rik van Velzen
相关产品推荐
相关产品推荐

