[发明专利]一种安全的Android App功能插件化方法有效
申请号: | 201710381127.6 | 申请日: | 2017-05-25 |
公开(公告)号: | CN107273151B | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 孙钦东;张雪;熊建芬;何少鹏 | 申请(专利权)人: | 西安理工大学 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/61;G06F9/445;G06F21/51 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 王奇 |
地址: | 710048*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全 android app 功能 插件 方法 | ||
本发明公开了一种安全的Android App功能插件化方法,步骤包括:1)按照插件化粒度分为模块化更新和热修复;2)预注册代理组件、提供引用的dex文件的jar包、编写相应的动态注入的代码;3)插件模块编译生成dex文件,随机生成DES密钥,加密dex文件,将密钥添加至dex文件末尾,打包签名;4)服务器推送更新模块,App下载新模块;5)检测插件模块的安全性;6)安装加载插件;7)重新启动应用。本发明的方法,将新功能的增加和BUG修复分开,插件生效相比于传统的App开发流程从开发效率、软件部署到用户体验都会有一个大幅度的提升。
技术领域
本发明属于Android应用技术领域,涉及一种安全的Android App功能插件化方法。
背景技术
移动应用越来越普及,所涉及到的领域也越来越多,导致应用规模越来越庞大,开发者往往会因为用户需求的不断变化,对应用进行频繁的更新。对于传统的开发模式而言,每一次应用的更新都需要用户重新下载安装整个应用包。这种开发模式对于用户来说,体验是十分不友好,很多用户可能因为嫌麻烦、费流量而拒绝应用的升级,这种现象也就给移动应用快速迭代和bug的修复造成了严重的影响。因此传统的开发模式很难再胜任移动端应用的开发工作了。目前已经开源的插件化框架有不少,但是大多数针对性比较强,要么针对的是新功能的增加,要么是bug的修复,并没有一个框架对两者进行融合,并且这些框架也没有采取任何安全机制来保障应用的安全。
插件安全性的检测也是十分重要的,如果不对插件的安全性进行检测,一旦插件模块在网络传输中被劫持替换,会给应用的安全带来威胁。目前开源的插件化框架并不具有热修复的功能,而在应用上线以后,往往会出现某个类文件存在问题的情况,为了避免用户重新更新整个应用,实现只更新出错文件的这种热修复技术是十分重要并且迫切的。
发明内容
本发明的目的是提供一种安全的Android App功能插件化方法,解决了现有技术中用户重新更新整个应用,存在安全风险,反复更新相对麻烦的问题。
本发明的技术方案,一种安全的Android App功能插件化方法,按照以下步骤实施:
步骤1、按照插件化粒度分为模块化更新和热修复,
模块化更新主要是针对新功能的增加,而热修复针对的是类文件方法级别的修复;
步骤2、预注册代理组件、提供引用的dex文件的jar包、编写相应的动态注入的代码,
2.1)在宿主应用的AndroidManifest.xml文件中预注册若干个进程,每个进程中预注册相应数目的组件;
2.2)提供一个dex jar包并将其打包进宿主应用,其中jar包中至少含有一个类;
2.3)编写动态注入代码;
步骤3、插件模块编译生成dex文件,随机生成DES密钥,加密dex文件,将密钥添加至dex文件末尾,打包签名;
步骤4、服务器推送更新模块,App下载新模块;
步骤5、检测插件模块的安全性;
步骤6、安装加载插件;
步骤7、重新启动应用,插件生效。
本发明的有益效果是,一是根据插件化的粒度分为模块更新和热修复,模块更新针对的是新功能的增加,而热修复针对的是类文件中BUG的修复;二是对插件化机制的安全提供了相关的保护措施,通过验证APK签名和对dex文件进行DES加密来保障应用安全;三是插件运行在独立的进程中,从而可以使插件与宿主应用,插件与插件之间隔离,插件的崩溃并不会影响宿主应用;四是插件实现热插拔,对插件模块在模块更新时随时进行安装和卸载新功能模块,热修复模块时会在用户毫无感知的情况下修复BUG。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710381127.6/2.html,转载请声明来源钻瓜专利网。