一种单Linux内核多Android系统的智能终端显示虚拟化方法技术方案

技术编号:18444646 阅读:24 留言:0更新日期:2018-07-14 10:16
本发明专利技术提供一种单Linux内核多Android系统的智能终端显示虚拟化方法,包括智能终端,所述智能终端内设置有多个Android系统,每个Android系统内均设置有WindowManager服务和若干个应用程序APP,选择一个Android系统作为主系统,所述主系统内设置有SurfaceFlinger服务;通过在智能终端各个android系统间共享经过改造的SurfaceFlinger服务,并将所有android系统的每个Layer进行统一的映射管理,实现了多个android系统共享同一个物理显示屏,通过对各个android系统的Layer映射关系修改,实现了多个android系统画面的切换,从而起到显示虚拟化和系统画面切换的作用,具有很高的通用性和可移植性。

An intelligent terminal display virtualization method for single Linux kernel multi Android system

The invention provides an intelligent terminal display virtualization method for a single Linux kernel multiple Android system, including an intelligent terminal. There are multiple Android systems in the intelligent terminal, each Android system has WindowManager service and a number of applications APP, and a Android system is selected as the main system, and the master is the main system. SurfaceFlinger services are set up in the system; by sharing the transformed SurfaceFlinger services between the various Android systems of the intelligent terminal and the unified mapping management of every Layer of all Android systems, multiple Android systems share the same physical display screen, and the Layer projection of each Android system is shown. The modification of the ejection relationship has realized the switching of multiple Android system pictures, thus playing the role of display virtualization and system screen switching, with high universality and portability.

【技术实现步骤摘要】
一种单Linux内核多Android系统的智能终端显示虚拟化方法
本专利技术涉及移动虚拟化领域和移动安全领域,具体的说,涉及了一种单Linux内核多Android系统的智能终端显示虚拟化方法。
技术介绍
随着智能手机的普及与移动互联网的发展,移动端支付、办公、理财变得越来越普遍,手机的信息安全也变得越来越重要,而android系统由于自身的开放性等特点,所面临的信息安全风险更是远大于其他系统。各种病毒、木马层出不穷。另一方面,移动办公的需求也越来越大,为了防止企业的敏感信息泄漏,降低企业成本,就迫切需要支持双系统的手机,一个用于工作,一个用于生活。双系统的手机目前有多种技术方案,有多个硬件模块隔离的,也有基于软件虚拟化技术实现的多系统。相比较于硬件隔离的技术方案,软件虚拟化方案有着成本低、性能高、功耗低、用户体验好及可软件管控等优点。无论哪种技术方案,都必须面对共享硬件资源的虚拟化及复用问题。如何使一个物理显示屏按需要分时显示不同系统的画面成为了实现多系统所必须解决的问题。为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现思路
本专利技术的目的是针对现有技术的不足,从而提供了一种单Linux内核多Android系统的智能终端显示虚拟化方法,使多个系统可以共享同一个显示设备,并且可以来回切换显示画面。为了实现上述目的,本专利技术所采用的技术方案是:一种单Linux内核多Android系统的智能终端显示虚拟化方法,包括智能终端,所述智能终端内设置有多个Android系统,每个Android系统内均设置有WindowManager服务和若干个应用程序APP,选择一个Android系统作为主系统,所述主系统内设置有SurfaceFlinger服务,包括以下步骤:步骤1,修改所述SurfaceFlinger服务使其在多个android系统间共享;步骤2,每个应用程序App向当前android系统中的WindowManager服务发起窗口显示请求,所述WindowManager服务接收所述窗口显示请求后向所述SurfaceFlinger服务发起创建图层请求,所述SurfaceFlinger服务为所述应用程序App创建一个图层Layer;步骤3,所述WindowManager根据当前android系统中所有应用程序App的运行状态和其他应用程序App的图层Layer信息计算出每个应用程序App的图层Layer的Z值,并将所述Z值设置到所述SurfaceFlinger服务中;其中,每个应用程序APP均对应一个独立的Z值;步骤4,所述SurfaceFlinger服务根据窗口显示请求为每个android系统的所有图层Layer的Z值增加一个基值,不同的android系统对应不同的基值;步骤5,所述SurfaceFlinger服务根据Z值从上到下计算图层Layer叠加后的可见区域,并合并图层,将可见区域的合并图层送到显示屏显示。基于上述,所述SurfaceFlinger服务还根据所述窗口显示请求修改各个android系统图层Layer在Z值上增加的基值,以实现多个android系统显示画面的切换。基于上述,待显示窗口的android系统在Z值上增加的基值最大。本专利技术具有突出的实质性特点和显著的进步:本专利技术通过在智能终端各个android系统间共享经过改造的SurfaceFlinger服务,并将所有android系统的每个Layer进行统一的映射管理,来实现多个android系统共享同一个物理显示屏。进一步地,通过对各个android系统的Layer映射关系修改,实现了多个android系统画面的切换,从而起到显示虚拟化和系统画面切换的作用,为一个智能终端运行多个android系统解决了显示的问题,既屏蔽了不同硬件平台的差异,又具有很高的通用性和可移植性。整个流程不改变原有android的运行机制,稳定可靠且高效。附图说明:图1是原生Android系统显示示意图。图2是本专利技术在运行两个Android系统时显示系统2画面时的示意图。图3是本专利技术在运行两个Android系统时显示系统1画面时的示意图。具体实施方式:为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。原生Android系统的显示部分,如图1所示,应用程序App向WindowManager请求显示或新建窗口,WindowManager根据,应用程序App的请求向SurfaceFlinger服务发起图层创建请求,创建一个图层Layer;WindowManager根据原生Android系统中应用的运行状态和其他应用的图层Layer信息计算出一个合适的Z值,设置到SurfaceFlinger服务中,该值决定了该图层在Z轴上的位置,从而会影响所有图层的最终可见区域。SurfaceFlinger根据Z值从上到下计算图层叠加后的可见区域合并图层,并将合并图层送到显示屏显示。基于上述原理,本专利技术的技术方案如下:一种单Linux内核多Android系统的智能终端显示虚拟化方法,包括智能终端,所述智能终端内设置有多个Android系统,每个Android系统内均设置有WindowManager服务和若干个应用程序APP,选择一个Android系统作为主系统,所述主系统内设置有SurfaceFlinger服务,其包括以下步骤:步骤1,修改所述SurfaceFlinger服务使其在多个android系统间共享;步骤2,每个应用程序App向当前android系统中的WindowManager服务发起窗口显示请求,所述WindowManager服务接收所述窗口显示请求后向所述SurfaceFlinger服务发起创建图层请求,所述SurfaceFlinger服务为所述应用程序App创建一个图层Layer;步骤3,所述WindowManager根据当前android系统中所有应用程序App的运行状态和其他应用程序App的图层Layer信息计算出每个应用程序App的图层Layer的Z值,并将所述Z值设置到所述SurfaceFlinger服务中;其中,每个应用程序APP均对应一个独立的Z值;步骤4,所述SurfaceFlinger服务根据所述窗口显示请求为每个android系统的所有图层Layer的Z值增加一个基值,不同的android系统对应不同的基值;步骤5,所述SurfaceFlinger服务根据Z值从上到下计算图层Layer叠加后的可见区域,并合并图层,将可见区域的合并图层送到显示屏显示。优选的,所述SurfaceFlinger服务还可以根据所述窗口显示请求修改各个android系统图层Layer在Z值上增加的基值,以实现多个android系统显示画面的切换。具体的,待显示android系统在Z值上增加的基值最大。为了便于进一步的理解本专利技术的技术方案,举例如下:假设智能终端内Android系统分别为系统1和系统2,选定其中一个系统作为主系统共享其SurfaceFlinger服务;每个系统均由一个唯一的识别码,SurfaceFlinger服务可以根据识别码识别创本文档来自技高网...

【技术保护点】
1.一种单Linux内核多Android系统的智能终端显示虚拟化方法,包括智能终端,所述智能终端内设置有多个Android系统,每个Android系统内均设置有WindowManager服务和若干个应用程序APP,选择一个Android系统作为主系统,所述主系统内设置有SurfaceFlinger服务,其特征在于,包括以下步骤:步骤1,修改所述SurfaceFlinger服务使其在多个android系统间共享;步骤2,每个应用程序App向当前android系统中的WindowManager服务发起窗口显示请求,所述WindowManager服务接收所述窗口显示请求后向所述SurfaceFlinger服务发起创建图层请求,所述SurfaceFlinger服务为所述应用程序App创建一个图层Layer;步骤3,所述WindowManager根据当前android系统中所有应用程序App的运行状态和其他应用程序App的图层Layer信息计算出每个应用程序App的图层Layer的Z值,并将所述Z值设置到所述SurfaceFlinger服务中;其中,每个应用程序APP均对应一个独立的Z值;步骤4,所述SurfaceFlinger服务根据所述窗口显示请求为每个android系统的所有图层Layer的Z值增加一个基值,不同的android系统对应不同的基值;步骤5,所述SurfaceFlinger服务根据Z值从上到下计算图层Layer叠加后的可见区域,并合并图层,将可见区域的合并图层送到显示屏显示。...

【技术特征摘要】
1.一种单Linux内核多Android系统的智能终端显示虚拟化方法,包括智能终端,所述智能终端内设置有多个Android系统,每个Android系统内均设置有WindowManager服务和若干个应用程序APP,选择一个Android系统作为主系统,所述主系统内设置有SurfaceFlinger服务,其特征在于,包括以下步骤:步骤1,修改所述SurfaceFlinger服务使其在多个android系统间共享;步骤2,每个应用程序App向当前android系统中的WindowManager服务发起窗口显示请求,所述WindowManager服务接收所述窗口显示请求后向所述SurfaceFlinger服务发起创建图层请求,所述SurfaceFlinger服务为所述应用程序App创建一个图层Layer;步骤3,所述WindowManager根据当前android系统中所有应用程序App的运行状态和其他应用程序App的图层Layer信息计算出每个应用程序Ap...

【专利技术属性】
技术研发人员:刘长河刘熙胖武宗品雷宇龙郭卫斌刘琳
申请(专利权)人:郑州信大捷安信息技术股份有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1