[发明专利]一种在沙箱中同时运行多个同名应用的方法、介质和设备有效
| 申请号: | 202010993881.7 | 申请日: | 2020-09-21 |
| 公开(公告)号: | CN112148313B | 公开(公告)日: | 2022-05-20 |
| 发明(设计)人: | 林伟;洪福联;郭碧跃;陈光 | 申请(专利权)人: | 厦门芯鸽信息科技有限公司 |
| 主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F3/0482;G06F9/445 |
| 代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
| 地址: | 361000 福建省厦门市湖里*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 沙箱中 同时 运行 同名 应用 方法 介质 设备 | ||
1.一种在沙箱中同时运行多个同名应用的方法,其特征在于包括如下步骤:
步骤1、在Android 系统安装沙箱APP,沙箱系统架构包含:包管理器模块VPM、活动管理器模块APM、窗口管理器模块VWM和Binder Driver 通讯模块;
该包管理器模块:用于同名应用的安装管理,创建指定文件夹并以包名为文件夹名称保存至SD卡中,系统提供的对应用信息的管理、对多开应用的全局数据、四大组件、自定义权限、生命权限、Apk安装、删除和销毁的管理;
该活动管理器模块:用于对同名多开的应用的进程进行分配、隔离、销毁管理;对系统Activity的管理,包括Activity创建和销毁;运行时功能管理和运行时数据结构的封装,进程Process、Service组件和BroadcastReceiver组件的管理;
该窗口管理器模块:用于对同名多开应用的Activity的添加、删除和更新管理;基于系统Framework层的窗口管理,用于管理系统中的所有窗口,即对View的添加、更新、删除以及三者的声明周期管理;
该Binder Driver 通讯模块:为系统IPC通讯框架,其实现角度分内核层和用户空间层,内核层是Linux 系统下Binder驱动实现,用户空间层是Native层实现或者Java层实现;
步骤2、通过沙箱APP安装多个同名应用的步骤:
(1)点击进入沙箱APP的添加多开应用列表,包管理器模块解析Android系统的所有应用,并将相关信息序列化到SD卡中,判断拟安装的应用是否已在Android系统上安装过,若已安装,则在包管理器模块解析之后,在沙箱APP的多开列表中显示应用名称和应用图标,若没安装,则用户手动下载apk文件并安装,用户点击添加拟安装的应用,沙箱APP解析该应用的manifest 文件,获取该应用的包名,分配该应用在沙箱环境的进程空间,并复制保存指定的so动态库文件,若apk文件已在沙箱环境安装,则沙箱系统调用指定Api动态加载apk文件到沙箱首页并显示应用M,否则,沙箱系统先复制必要文件后,加载和安装apk文件到沙箱首页并显示应用M;
(2)活动管理器模块管理添加多开应用列表页面的跳转,通过包管理器模块分配的SD卡目录配置P个完全隔离的多开进程空间,其中P50,通过替换系统ProcessRecord重写,安装过程中会查询vpid,判断当前进程是否存在当前沙箱环境中,若没有,则活动管理系统服务VAMS分配一个隔离的进程空间给vpid并存入Array集合中,由vpid找到指定Activity,将应用M图标启动组件信息和应用M进程空间设置到沙箱内部Intent中,为应用启动做准备,在沙箱首页生成P个应用图标,从而实现对P个多开进程空间的管理与销毁;
步骤3、在沙箱内同时运行多个同名应用的步骤:
(1)用户进入沙箱APP的首页点击选中想要运行的已经安装好的多个同名应用中的若干个应用;
(2)通过活动管理器模块获取已启动应用的Intent信息,沙箱APP依次判断需要启动的应用的组件和进程是否存在,如不存在,则开始创建组件和进程,创建新进程时,通过HookStubActivity对Intent信息系统服务代理和替换,从Intent中获取应用的相关信息,若该应用的进程已经存在,则该进程会加载前面创建或已有的该应用的组件;
(3)上述应用启动起来后,窗口管理模块将需要启动的StubActivity加入到Map中,再从Map中调取StubActivity从Intent中获取客户应用的信息并修改自身主线程的Handler,并通过IBinder Driver通讯模块进行应用进程空间的分配,再调用StubActivity把记录的线程信息传进去,通过反射完成用户应用的启动,使其运行于沙箱APP中。
2.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1所述的一种在沙箱中同时运行多个同名应用的方法。
3.一种计算机设备,所述计算机设备包括一个或多个位于本地或云端的处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1所述的一种在沙箱中同时运行多个同名应用的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门芯鸽信息科技有限公司,未经厦门芯鸽信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010993881.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种回复反射器的安装结构
- 下一篇:一种农业生产用芡实去壳装置





