[发明专利]程序更新方法、程序运行方法及装置有效
申请号: | 201710567579.3 | 申请日: | 2017-07-12 |
公开(公告)号: | CN107273142B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 聂俊鸿;张菊元 | 申请(专利权)人: | 北京龙之心科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 北京市顺义区天竺*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 更新 方法 运行 装置 | ||
1.一种程序更新方法,其特征在于,包括:
获取插件程序;其中,所述插件程序基于公共库提供的相应功能组件编译获得;所述公共库安装于宿主程序,所述公共库中包含基本的网络、缓存以及UI框架,用于提供各个功能组件基本的能力,宿主程序通过调用公共库中的相应功能组件执行相应处理操作;
下发所述插件程序至宿主程序,以供所述宿主程序安装所述插件程序;基于插件调用指令利用所述插件程序调用所述公共库中的相应功能组件执行处理操作,插件程序可以直接调用宿主程序中的公共库中的相应功能组件执行对应的处理操作,该相应功能组件为编译插件程序时所需的功能组件,编译获得的插件程序中不包括公共库代码,被调用使用时,直接利用安装于宿主程序中的公共库执行处理操作,所述插件程序在服务端检测到存在插件程序更新后,将所述插件程序推送至宿主程序,或接收宿主程序的更新请求后将所述插件程序发送至所述宿主程序,所述宿主程序接收到所述插件程序后,将所述插件程序安装在宿主程序中;其中
公共库代码按照混淆规则混淆之后安装于所述宿主程序;
混淆初始程序,以获得所述插件程序可以包括:
按照所述混淆规则,混淆所述初始程序,以获得所述插件程序;
在对宿主程序和公共库代码按照混淆规则进行混淆后,为了保证插件程序可以正常调用所述宿主程序中的公共库代码,在服务端基于所述公共库代码编译获得初始程序后,可以按照与混淆公共库代码相同的混淆规则对所述初始程序进行混淆;
下发所述插件程序至宿主程序,以供所述宿主程序安装所述插件程序;基于插件调用指令,利用所述插件程序调用所述公共库中的相应功能组件执行处理操作;
所述基于公共库代码编译获得的初始程序中包含有全部的公共库代码,宿主程序中安装有按照混淆规则混淆之后的公共库代码;
按照所述混淆规则,混淆所述初始程序中所述公共库代码,获得第一混淆程序,其中,宿主程序中的公共库可以被不同插件程序使用,公共库代码是按照混淆规则经过混淆之后安装于宿主程序中,在对公共库代码混淆过程中对插件程序与公共库代码之间的调用关系进行修改,使得插件程序直接调用混淆后的公共库代码;
将所述公共库代码打包为第一文件包,以及将插件功能代码打包为第二文件包;
通过拆包工具multidex对所述第一混淆程序进行分包;
所述将所述公共库代码打包为第一文件包,以及将所述插件功能代码打包为第二文件包包括:
扫描所述第一混淆程序,以识别所述插件功能代码;
将所述插件功能代码打包为第二文件包,以及将所述公共库代码打包为第一文件包;
通过脚本程序对所述第一混淆程序中的插件功能代码目录进行扫描,识别出插件功能代码和公共库代码,然后将所述第一混淆程序中公共库代码打包为第一文件包,并将所述插件功能代码打包为第二文件包,并删除所述第一文件包获得仅包含插件功能代码的第二文件包;
利用所述第二文件包,获得所述插件程序;在编译所述初始程序后会对初始程序进行签名,通过将第二文件包压缩为安卓系统可以应用的安卓包,并对所述安卓包进行重新签名,获得所述插件程序;
下发所述插件程序至宿主程序,以供所述宿主程序安装所述插件程序;基于插件调用指令,利用所述插件程序调用所述公共库中的相应功能组件执行处理操作。
2.根据权利要求1所述的方法,其特征在于,所述获取插件程序包括:
获取所述公共库的公共库代码;
基于所述公共库代码,编译获得初始程序;
混淆所述初始程序,以获得所述插件程序。
3.根据权利要求2所述的方法,其特征在于,所述公共库代码按照混淆规则混淆之后安装于所述宿主程序;
所述混淆所述初始程序,以获得所述插件程序包括:
按照所述混淆规则,混淆所述初始程序,以获得所述插件程序。
4.根据权利要求3所述的方法,其特征在于,所述按照所述混淆规则,混淆所述初始程序,以获得所述插件程序包括:
按照所述混淆规则,混淆所述初始程序中所述公共库代码,获得第一混淆程序;
将所述公共库代码打包为第一文件包,以及将所述插件功能代码打包为第二文件包;
删除所述第一文件包;
利用所述第二文件包,获得所述插件程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京龙之心科技有限公司,未经北京龙之心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710567579.3/1.html,转载请声明来源钻瓜专利网。