[发明专利]一种轻量级移动应用虚拟化系统在审
申请号: | 202010588083.6 | 申请日: | 2020-06-24 |
公开(公告)号: | CN111796909A | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 王总辉;章新豪;刘沛宇;陈文志 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 曹兆霞 |
地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 移动 应用 虚拟 系统 | ||
1.一种轻量级移动应用虚拟化系统,其特征在于,包括设于Android系统的容器启动辅助进程和Activity Manager Service进程,还包括用于管理容器的容器根进程;
其中,所述容器启动辅助进程构建Intent数据包,并根据Intent数据包创建并发送创建虚拟化应用请求至所述Activity Manager Service进程;
所述Activity Manager Service进程接收创建虚拟化应用请求并解析接收的Intent数据包,并根据Intent数据包向容器根进程发送创建容器进程请求;根据接收的加载容器应用请求发送容器应用的包信息至所述容器根进程;
所述容器根进程创建并初始化应用运行环境,在接收到创建容器进程请求后创建容器进程,所述容器进程根据发送的加载容器应用请求从所述Activity Manager Service进程获得容器应用的包信息,并启动该容器应用。
2.如权利要求1所述的轻量级移动应用虚拟化系统,其特征在于,在构建Intent数据包时,向Intent数据包添加用于识别请求启动的是虚拟化应用的FLAG_ACTIVITY_CONTAINER标识。
3.如权利要求1所述的轻量级移动应用虚拟化系统,其特征在于,所述容器启动辅助进程在发送启动创建容器应用的请求前,还进行应用检查,向所述Package Manager Service发起目标组件查询请求,查看要启动的目标组件是否被安装,如果目标组件没有安装,向所述Package Manager Service发起目标组件安装请求,并根据目标组件安装请求传入的目标应用的安装包地址,安装目标应用。
4.如权利要求1所述的轻量级移动应用虚拟化系统,其特征在于,所述ActivityManager Service对Intent数据包解析后,根据Intent数据中记录的目标应用程序的包名和UID查看当前Android系统中是否安装目标应用程序,若存在安装记录,则查找并判断目标应用程序的应用进程是否存在,若应用进程不存在,则根据目标应用程序的包名和UID创建一个新的记录,用以存储应用程序的信息;
检查Intent数据中是否包含FLAG_ACTIVITY_CONTAINER标志,在包含FLAG_ACTIVITY_CONTAINER标志时,则通过容器socket向所述容器根进程发送容器进程创建请求。
5.如权利要求1所述的轻量级移动应用虚拟化系统,其特征在于,所述容器根进程创建并初始化应用运行环境包括:
创建一个Java虚拟机、注册jni函数,加载jni函数中的ZygoteInit类和预加载Java类和Android资源。
6.如权利要求1所述的轻量级移动应用虚拟化系统,其特征在于,所述创建容器进程包括:
检查所述创建容器进程请求中的uid、gid、gids、capabilities安全权限和应用程序的abi,检查通过后调用fork系统调用创建相应的子进程并加载ActivityThread进行容器应用的初始化;
ActivityThread在初始化过程中会设置应用中需要使用的系统路径、设置当前应用的证书保存的位置、设置进程的名称并创建Binder线程池,用以处理Android系统服务的Binder通信。
7.如权利要求1所述的轻量级移动应用虚拟化系统,其特征在于,所述ActivityManagerService收到加载容器应用请求后,根据Binder请求发送者的uid查找容器应用的包信息,并将包信息传递给所述容器进程;
所述容器进程在收到目标容器应用的包信息后加载并启动目标容器应用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010588083.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:微小卫星的通用串口测试器
- 下一篇:一种红外体测温自动识别方法