关于android 提示had used a different xxx; during pre-berification
2016-07-09 08:38
387 查看
重复加载了相同类
我们可以在4.4.2/442/dalvik/vm/oo/Resolve.cpp这个里面找到抛出这个异常的判断逻辑:
通过这些提示再加上方法实现逻辑
它会去判断引用类所在的dex文件是否和想要的索引类所在的dex是同一个,如果不为同一个则会抛出这个异常
resClass = dvmFindClassNoInit(className, referrer->classLoader);
这句是获取实际索引类,如果之前相同的类加载器已经从与索引类不同的dex文件中加载了相同完整类名的类,则会导致获取到的实际索引类不是想要的索引类(所出dex文件不同),即引用类与实际索引类由同一个类加载器加载,但是处于不同的dex文件中
我们可以在4.4.2/442/dalvik/vm/oo/Resolve.cpp这个里面找到抛出这个异常的判断逻辑:
通过这些提示再加上方法实现逻辑
它会去判断引用类所在的dex文件是否和想要的索引类所在的dex是同一个,如果不为同一个则会抛出这个异常
resClass = dvmFindClassNoInit(className, referrer->classLoader);
这句是获取实际索引类,如果之前相同的类加载器已经从与索引类不同的dex文件中加载了相同完整类名的类,则会导致获取到的实际索引类不是想要的索引类(所出dex文件不同),即引用类与实际索引类由同一个类加载器加载,但是处于不同的dex文件中
相关文章推荐
- Android中取得手机屏幕的信息
- Android Activity的启动模式以及Intent的启动Activity的启动标记
- Android平台上二维码的生成与扫描
- [I.MX6Q][Android6.0.1_r3]之源码获取及编译
- 仿格瓦拉双层拖拽布局,格瓦拉电影详情界面
- 动态获取PullToRefreshScrollView滚动条的值
- Android之文章权限的概念
- Android值数据读写在sd卡需要注意的事项
- Android 新特性学习总结
- Android开发环境搭建:离线安装ADT插件和安装SDK
- Animation 动画介绍和实现
- Android 动画
- 在Ubuntu系统中下载Android源码
- Android中SQLite使用事务
- Android判断EditText输入的数字、中文还是字母方法
- Android Studio官方文档之使用Lint提高你的代码质量篇
- 学习android源码第一天
- Android中事件处理机制一分钟理清思路
- android之Activity回传数据
- Android 实现下载时主界面与详细界面一致更新