摘要 | 第3-4页 |
abstract | 第4-5页 |
1 绪论 | 第8-14页 |
1.1 研究背景与意义 | 第8-10页 |
1.2 国内外研究现状 | 第10-11页 |
1.3 主要工作及研究内容 | 第11-12页 |
1.4 本文的组织结构 | 第12-14页 |
2 动态加载技术与相关机制分析 | 第14-22页 |
2.1 动态加载技术 | 第14-16页 |
2.1.1 Java类的动态加载机制 | 第14-15页 |
2.1.2 Android虚拟机类加载机制 | 第15-16页 |
2.2 HOOK机制 | 第16-18页 |
2.3 Binder机制 | 第18-20页 |
2.4 本章小结 | 第20-22页 |
3 粒度化的安全功能插件化实现机制分析 | 第22-36页 |
3.1 插件化的位置 | 第22-23页 |
3.2 插件加载技术 | 第23-26页 |
3.2.1 代码加载方式分析 | 第24页 |
3.2.2 资源编译加载方式分析 | 第24-26页 |
3.3 大粒度插件化模块化更新 | 第26-32页 |
3.3.1 模块隔离性分析 | 第26-27页 |
3.3.2 四大组件插件化分析 | 第27-32页 |
3.4 小粒度插件化热修复 | 第32-34页 |
3.4.1 机制中热修复的原理分析 | 第32-33页 |
3.4.2 动态代码注入解决Multidex失败的问题 | 第33-34页 |
3.5 插件安全机制分析 | 第34-35页 |
3.5.1 APK签名机制 | 第34页 |
3.5.2 dex文件的保护 | 第34-35页 |
3.6 本章小结 | 第35-36页 |
4 粒度化的安全功能插件化实现机制设计 | 第36-52页 |
4.1 总体设计 | 第36-37页 |
4.2 插件加载模块 | 第37-39页 |
4.2.1 资源加载 | 第38-39页 |
4.2.2 代码加载 | 第39页 |
4.3 模块化更新 | 第39-43页 |
4.3.1 APK解析 | 第39-40页 |
4.3.2 AndroidManifest预注册 | 第40页 |
4.3.3 四大组件的插件化 | 第40-41页 |
4.3.4 HOOK模块 | 第41-43页 |
4.4 热修复模块 | 第43-44页 |
4.5 缓存机制与插件包管理 | 第44-45页 |
4.6 插件启动 | 第45-47页 |
4.6.1 进程管理 | 第45-46页 |
4.6.2 组件生命周期管理 | 第46-47页 |
4.7 插件化机制安全模块 | 第47-51页 |
4.7.1 APK签名 | 第47-48页 |
4.7.2 验证APK签名 | 第48-49页 |
4.7.3 DES算法加解密dex文件 | 第49-51页 |
4.8 本章小结 | 第51-52页 |
5 功能插件化机制的实现与验证 | 第52-64页 |
5.1 AndroidManifest预注册的实现 | 第52-53页 |
5.2 APK解析的实现 | 第53-54页 |
5.3 四大组件启动的实现 | 第54-56页 |
5.3.1 ClassLoader加载代码 | 第54页 |
5.3.2 Activity的启动 | 第54-55页 |
5.3.3 Service的启动 | 第55页 |
5.3.4 BroadcastReceiver的启动 | 第55-56页 |
5.3.5 ContentProvider的启动 | 第56页 |
5.4 热修复的实现 | 第56-57页 |
5.5 插件化安全机制的实现 | 第57-58页 |
5.6 插件化机制的验证与对比 | 第58-63页 |
5.6.1 机制验证 | 第58-62页 |
5.6.2 相关机制对比 | 第62-63页 |
5.7 本章小结 | 第63-64页 |
6 总结与展望 | 第64-66页 |
6.1 工作总结 | 第64页 |
6.2 工作展望 | 第64-66页 |
致谢 | 第66-68页 |
参考文献 | 第68-72页 |
在校学习期间所发表的论文、专利、获奖及社会评价 | 第72页 |