Android动态加载框架EasyDynamicLoad的设计与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:zx154028
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的发展与智能手机的普及,移动应用的用户数量呈海量增长,移动应用的功能也逐渐复杂。通过提升应用的使用体验与团队的开发效率,可以有效地增加应用的用户数量并创造效益。然而用户更新应用时,需要下载安装包,并手动点击安装。这样的更新操作不仅消耗流量而且过程繁琐,用户因此拒绝更新应用。从而降低了新版本的覆盖速度,影响新功能的推广与错误代码的及时修护。针对这个问题,本文提出了具有Android动态加载功能的EasyDynamicLoad(EDL)框架。EDL框架把工程分为多个独立的模块插件,主程序可以按照功能动态地加载插件。EDL使得更新操作仅下载模块插件即可,为用户节省了流量。EDL加载插件的操作对用户是透明的,用户不再需要手动安装。因此EDL解决了不能快速更新应用和不能及时修护错误的问题。另外,EDL框架使得多个团队能够并行开发各自的模块,提高了开发效率。本文以DroidPlugin框架为基础,设计并实现了EDL动态加载框架。它不仅能通过工程模块化与动态加载的特点,实现快速地更新应用、及时地修护BUG,还能支持So、Web等类型的插件,还能支持插件之间的相互调用。主要的工作内容如下:(1)设计了EDL框架的总体架构,共有解析安装包、manifest管理、资源加载、代理插件、生命周期管理、管理插件、启动插件、安全这八个模块。(2)实现了EDL框架。模仿Android系统启动应用的流程,实现主程序对插件应用的启动,包括安装包的解压分析、资源的加载、组件的加载与管理等。(3)通过“占坑”的方式实现插件组件的加载。它通过类加载与反射机制替换插件组件与主程序组件,使得无法在主程序的索引表中注册的插件组件,也能够被Android系统启动。(4)使用扩展资源id中packageId字段的方法,为每个插件分配不同的packageId字段,实现插件资源的加载。实现SoLauncher等插件启动器,用于处理多种类型的插件。对插件文件进行MD5与RSA加密,确保EDL插件文件的可靠性。与DroidPlugin框架相比,EDL不仅能加载Apk类型的插件,还可以加载So与Web类型的插件;EDL支持普通插件调用公共库插件,降低了代码重复率;EDL通过签名加密工作,确保了插件文件的可靠性。经过试验验证,EDL框架能正常且快速地加载多种插件,并兼容Android4.0至8.0版本与市场上大部分的Android手机。因此,EDL相比DroidPlugin实用性更好。
其他文献
<正> 一、到本世纪末煤炭产量能够达到十二亿吨要把我国煤炭产量由目前的6.2亿吨增到12亿吨,无疑是一项十分艰巨的任务。但我认为,经过努力是完全可以达到的。今后,增产煤炭
<正> 煤炭是我国主要能源。三十多年来,我国年产煤量从三千二百多万吨增加到六亿二千多万吨,不仅增长速度是史无前例的,而且技术上也有很大进步。但煤炭工业的发展还远不能满
随着人类基因组测序计划的完成,生物学研究的重点正从积累数据向分析解释这些数据过渡,生物信息学即计算分子生物学便应运而生。生物序列比较是计算分子生物学的主要研究内容
<正> 在现代管理会计工作中广泛采用回归法来进行成本预测工作。回归法是研究相关关系的一种数学方法,其目的是从一个变量的值去估计另一个变量的值。若随机变量Y与与变量X间
<正> (一) 吨煤工资含量的变化趋势煤矿实行吨煤工资包干以后,职工工资增加的来源有两个方面。一是全国性的调资(包括工资改革),或国家采取特殊政策,提高煤矿职工的福利待遇
目的观察鼻衄病员行鼻中膈粘膜下填塞术治疗的效果.方法将108例病员分为传统方法(对照组)和鼻中膈粘膜下填塞术治疗(观察)组,并比较其疗效.结果观察组一次性治愈104例(188侧)
反对浪费、减亏增盈是煤炭工业企业今年提高经济效益、提高企业经营管理素质的突破口之一。本刊从本期开始,将开展这方面的专题讨论,希望各企业和广大职工踊跃来稿,或介绍经
恶性肿瘤已成为威胁人类健康的主要疾病之一,综合治疗是其主要治疗模式。培养学生的自学能力及临床思维能力是肿瘤学教学改革的核心。CBL(case-basedlearning)、PBL(problem-
<正> 我们在全面加强企业管理的同时,今年重点抓了劳动组织的整顿和改革。这项工作对我们这个人多效率低的老矿区显得十分迫切和重要。因为影响劳动效率高低的一个重要方面是
结肠损伤者由于粪便自结肠裂口或穿孔处溢出致粪性腹膜炎,手术处理较困难,死亡率也较高。笔者现将我院近年来收治的结肠损伤9例的手术处理作一回顾性分析。1临床资料本组9例