The invention provides a plug-in management method for the Android terminal application, adding the plug-in bytecode resource path to the system resource path set, ensuring that the plug-in can directly use its own resource file without relying on the host; support the plug-in to start multiple Service components at the same time; support the plug-in to use the third party movement. State shared library file; plug-in manager can automatically update without relying on the host application.
【技术实现步骤摘要】
一种安卓终端应用程序的插件化管理方法
本专利技术属于智能终端
,具体涉及一种安卓终端应用程序的插件化管理方法。
技术介绍
伴随着Android操作系统的问世,移动嵌入式设备的影响力发生了天翻地覆的变化。当今用户对基于Android系统的终端应用更是有着越来越多的依赖,而应用本身的功能也在不断地完善与扩展。因此市面上的许多Android应用都会变得十分臃肿,这给应用功能的扩展造成了不便。使用插件技术,可以让一个已经安装在Android系统的应用程序(宿主)去运行那些并没有被Android系统识别安装的APK文件。这样大大提高了应用程序扩展与更新的灵活性。目前常见的Android插件技术,在校验插件的合法性之后,解析插件并在宿主程序中创建一个沙箱环境,使用宿主本身以及系统的资源管理器,并通过反射的方式来调用插件中的程序及其方法,启动插件。现有技术中的上述技术方案存在如下缺点:一是插件资源管理器依赖于宿主程序,无法独立使用插件文件内部的相关资源文件;二是不支持插件同时启动多个Service组件;三是插件管理器本身嵌入在宿主应用APK中,不支持自身的动态更新,需与宿主应用程序一同更新。
技术实现思路
为克服上述现有技术的不足,本专利技术提供了一种安卓终端应用程序的插件化管理方法。1.启动宿主应用程序,检查插件管理器的版本,通过网络从服务器端下载最新版本的插件管理器,校验其完整性。2.初始化插件管理器,在Android系统创建Activity组件和Service组件时进行拦截操作,替换指定的类加载器。3.装载插件,首先从服务器端下载最新版本的插件APK文件,校验完 ...
【技术保护点】
一种安卓终端应用程序插件化管理方法,其特征在于,包括:S101:启动宿主应用程序,建立Android应用的沙盒进程;S102:读取宿主应用中的插件管理器版本,并向服务器端发送网络请求来上传该版本值;S103:接收服务器端下发的插件管理器的更新数据;S104:判断是否需要更新插件管理器;如果判断结果为需要更新,则执行S105,如果判断结果为不需要更新,则进入步骤S107;S105:宿主应用下载插件管理器;S106:判断所下载插件管理器完整性是否正确,如果判断完整性正确则执行S107;如果判断完整性不正确,则返回S105;S107:初始化插件管理器;S108:检查宿主应用中的插件版本;S109:判断是否需要更新插件,如果判断结果为需要更新,则进入步骤S110,如果判断结果为不需要更新,则进入步骤S112;S110:宿主应用下载插件APK文件;S111:判断插件是否下载成功,如果判断结果为下载成功,则进入步骤S112,如果判断结果为下载不成功,则重新执行步骤S110;S112:装载插件,初始化插件的资源管理器和类加载器;根据本专利技术的一个优选实施方式,其中插件的类加载器,会优先查找与插件包 ...
【技术特征摘要】
1.一种安卓终端应用程序插件化管理方法,其特征在于,包括:S101:启动宿主应用程序,建立Android应用的沙盒进程;S102:读取宿主应用中的插件管理器版本,并向服务器端发送网络请求来上传该版本值;S103:接收服务器端下发的插件管理器的更新数据;S104:判断是否需要更新插件管理器;如果判断结果为需要更新,则执行S105,如果判断结果为不需要更新,则进入步骤S107;S105:宿主应用下载插件管理器;S106:判断所下载插件管理器完整性是否正确,如果判断完整性正确则执行S107;如果判断完整性不正确,则返回S105;S107:初始化插件管理器;S108:检查宿主应用中的插件版本;S109:判断是否需要更新插件,如果判断结果为需要更新,则进入步骤S110,如果判断结果为不需要更新,则进入步骤S112;S110:宿主应用下载插件APK文件;S111:判断插件是否下载成功,如果判断结果为下载成功,则进入步骤S112,如果判断结果为下载不成功,则重新执行步骤S110;S112:装载插件,初始化插件的资源管理器和类加载器;根据本发明的一个优选实施方式,其中插件的类加载器,会优先查找与插件包名相关的类文件;S113:用户使用插件,通过插件来实现具体的应用功能;S114:结束相关操作,退出宿主应用程序。2.根据权利要求1所述的安卓终端应用程序插件化管理方法,其特征在于:所述接收服务器端下发的插件管理器的更新数据时,如果不需要进行更新,则收到的更新数据为空。3.根据权利要求1或2所述的安卓终端应用程序插件化管理方法,其特征在于:完成下载插件管理器后,还将通过预定算法计算下载文件的完整性。4.根据权利要求1-3任一所述的安卓终端应用程序插件化管理方法,其特征在于:可通过计算下载下来的插件管理器的md5值来进行完整性判断,将计算的插件管理器的md5值与服务器端下发的md5值进行比对,如两者一致则表示完整性,如不一致则表示完整性不正确。5.根据权利要求1-4任一所述的安卓终端应用程序插件...
【专利技术属性】
技术研发人员:徐基慧,
申请(专利权)人:竞技世界北京网络技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。