关于android 提示had used a different xxx; during pre-berification

重复加载了相同类

我们可以在4.4.2/442/dalvik/vm/oo/Resolve.cpp这个里面找到抛出这个异常的判断逻辑: 


通过这些提示再加上方法实现逻辑
它会去判断引用类所在的dex文件是否和想要的索引类所在的dex是同一个,如果不为同一个则会抛出这个异常
resClass = dvmFindClassNoInit(className, referrer->classLoader);
这句是获取实际索引类,如果之前相同的类加载器已经从与索引类不同的dex文件中加载了相同完整类名的类,则会导致获取到的实际索引类不是想要的索引类(所出dex文件不同),即引用类与实际索引类由同一个类加载器加载,但是处于不同的dex文件中 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值