| 摘要 | 第3-4页 |
| Abstract | 第4-5页 |
| 第一章 绪论 | 第9-15页 |
| 1.1 研究背景 | 第9-11页 |
| 1.2 插件化开发研究现状 | 第11-13页 |
| 1.3 本文主要工作 | 第13-15页 |
| 第二章 动态加载技术分析 | 第15-20页 |
| 2.1 重定位动态加载技术 | 第15-17页 |
| 2.1.1 Windows动态加载方式 | 第15页 |
| 2.1.2 Linux动态加载方式 | 第15-16页 |
| 2.1.3 Android与动态链接库 | 第16-17页 |
| 2.2 Java动态加载技术 | 第17-19页 |
| 2.2.1 Java类动态加载原理 | 第17-18页 |
| 2.2.2 Android虚拟机类加载机制 | 第18-19页 |
| 2.3 小结 | 第19-20页 |
| 第三章 Android插件框架技术分析 | 第20-33页 |
| 3.1 插件框架特点 | 第20-21页 |
| 3.2 Android应用进程分析 | 第21-22页 |
| 3.3 Android四大组件分析 | 第22-30页 |
| 3.3.1 Activity & Activity Manager Server | 第23-27页 |
| 3.3.2 Service Manager & Service | 第27-29页 |
| 3.3.3 Broadcast Receiver | 第29页 |
| 3.3.4 Content Service & Content Provider | 第29-30页 |
| 3.4 Binder与Binder驱动 | 第30-31页 |
| 3.5 Android安全机制分析 | 第31-32页 |
| 3.6 小结 | 第32-33页 |
| 第四章 结合动态加载技术的Android插件框架设计 | 第33-43页 |
| 4.1 框架在Android系统中位置 | 第33-34页 |
| 4.2 框架总体设计 | 第34-35页 |
| 4.3 代理Android四大组件 | 第35-38页 |
| 4.3.1 代理Activity | 第37页 |
| 4.3.2 代理Service和ContentProvider | 第37-38页 |
| 4.3.3 Broadcast转换 | 第38页 |
| 4.4 Hook模块设计 | 第38-40页 |
| 4.4.1 Hook接口对象Binder | 第39页 |
| 4.4.2 Hook关键控制模块 | 第39-40页 |
| 4.5 插件进程管理 | 第40-42页 |
| 4.5.1 进程启动 | 第40-41页 |
| 4.5.2 进程生命周期管理 | 第41-42页 |
| 4.6 apk包解析 | 第42页 |
| 4.7 插件包管理 | 第42页 |
| 4.8 小结 | 第42-43页 |
| 第五章 动态加载插件框架实现与验证 | 第43-72页 |
| 5.1 Manifest预先注册代理组件实现 | 第43-46页 |
| 5.1.1 注册Activity代理 | 第43-44页 |
| 5.1.2 Service代理注册 | 第44页 |
| 5.1.3 Provider代理注册 | 第44-45页 |
| 5.1.4 Broadcast静态转动态 | 第45-46页 |
| 5.2 Hook模块实现 | 第46-59页 |
| 5.2.1 Hook关键Binder | 第46-50页 |
| 5.2.2 Hook本地程序关键对象 | 第50-59页 |
| 5.3 APK解析实现 | 第59-61页 |
| 5.4 Demo设计与功能测试 | 第61-71页 |
| 5.4.1 演示Demo界面 | 第61-62页 |
| 5.4.2 动态加载插件框架测试 | 第62-71页 |
| 5.5 小结 | 第71-72页 |
| 第六章 总结与展望 | 第72-74页 |
| 6.1 工作总结 | 第72-73页 |
| 6.2 改进和展望 | 第73-74页 |
| 参考文献 | 第74-76页 |
| 致谢 | 第76页 |