CN112114916A - 一种在Linux操作系统上兼容运行Android应用的方法和装置 - Google Patents

一种在Linux操作系统上兼容运行Android应用的方法和装置 Download PDF

Info

Publication number
CN112114916A
CN112114916A CN202010899882.5A CN202010899882A CN112114916A CN 112114916 A CN112114916 A CN 112114916A CN 202010899882 A CN202010899882 A CN 202010899882A CN 112114916 A CN112114916 A CN 112114916A
Authority
CN
China
Prior art keywords
android
data
linux
operating system
android application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010899882.5A
Other languages
English (en)
Other versions
CN112114916B (zh
Inventor
姚宏亮
周剑
张耀斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jide System Technology Co ltd
Original Assignee
Beijing Jide System Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jide System Technology Co ltd filed Critical Beijing Jide System Technology Co ltd
Priority to CN202010899882.5A priority Critical patent/CN112114916B/zh
Publication of CN112114916A publication Critical patent/CN112114916A/zh
Application granted granted Critical
Publication of CN112114916B publication Critical patent/CN112114916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种在Linux操作系统上兼容运行Android应用的方法及其装置,其中该方法包括:在Linux操作系统上运行Android运行环境,由Linux操作系统捕获用户在Linux桌面的操作并记录为第一操作数据;Android运行环境获取所述第一操作数据,生成相关Android应用的第一图形数据;由Linux操作系统获取所述第一图形数据,进行图形与窗口的数据合成,并在Linux桌面对应窗口中显示。采用本发明的方法,可以使Android应用直接以多窗口的方式稳定运行在Linux桌面上,解决目前Linux操作系统中缺乏足够的Android应用生态的问题,系统开销较小,兼容性好。

Description

一种在Linux操作系统上兼容运行Android应用的方法和装置
技术领域
本发明涉及计算机软件及应用技术领域,特别是涉及一种在Linux操作系统上异构兼容运行Android应用的方法和装置。
背景技术
随着Windows7的服务终止,Linux桌面系统得到更好的普及,如何使Android应用直接以多窗口的方式稳定运行在Linux桌面上,解决目前Linux操作系统中缺乏足够的Android应用生态的问题,成为相关技术产品化最关键的一环。
传统在宿主系统A上异构运行客户系统B的应用的方法主要是通过虚拟化技术,在虚拟化解决方案中,需要在宿主系统A上运行一个虚拟化软件,在该虚拟化软件中运行客户系统B,这样的技术方式往往需要进行二进制转换模拟硬件环境,例如提供处理器、内存、存储、显卡和网卡等物理输入输出设备的接口,导致系统的复杂性增加;同时更为严重的是,这种技术方案使得客户系统B的桌面需要在宿主系统A桌面上显示,用户操作时需要经常在客户系统B和宿主系统A这两种桌面之间来回切换操作,这对于同为键鼠操作体验的Linux和Windows还可以忍受,但是当宿主系统A为键鼠操作系统,而客户系统B是Android系统时,用户使用基于触摸操作的Android应用会有强烈的违和感,因此需要一种技术同时来解决上述异构运行和一致性操作体验的问题。
目前,国际上解决上述问题的技术路线主要有三种:
一:虚拟机技术
虚拟机技术是传统的运行异构操作系统的典型方法,该技术路线主要是在宿主系统上完整的运行客户系统,通过在宿主系统的底层硬件仿真,利用软件来实现所有硬件的能力,从而实现对宿主系统运行设备的完整模拟,创造出一个虚拟的完整硬件供客户系统使用。该技术的优势是客户系统对硬件的兼容性好,因为全部硬件都是模拟出来的,因此对宿主硬件的计算性能和内存开销都有比较大的需求,从而导致运行效率的损耗较高,性能较差的CPU如MIPS、ARM等运行起来会比较吃力,客户系统中运行多个应用后会出现卡顿、反应迟钝等问题;此外,该技术方法由于是完整运行客户系统,因此用户只能在一个客户系统窗口中进行操作使用,由于Android系统本身不是多窗口运行的,用户无法同时运行多个Android应用,因此用户体验很差,和宿主操作系统的操作方式有明显区别,这也是该技术虽然成熟,但无法大规模普及使用的原因。目前在国内市场基于该技术的Android模拟器是典型产品,但目前还只能运行在比较高端的x86芯片上。
二:容器技术
容器技术是对虚拟化技术的一种的发展,主要是为了解决硬件资源消耗过大的问题。容器技术的主要核心是宿主系统和客户系统为同构系统,因此它不需要进行底层硬件的虚拟化,容器中的客户系统可以直接使用宿主系统的硬件环境,因此运行效率上有很大的优势。目前采用该技术的主要国外项目为AnBox。由于AnBox直接运行在硬件上,没有软件模拟层,无需虚拟化硬件即可运行Android,因此可以无缝桥接硬件加速功能。同时AnBox与Linux操作系统紧密集成,可以提供丰富的功能集。
AnBox的确解决了硬件开销问题,但是并没有解决在宿主系统上异构运行客户系统的问题,也没有解决在宿主系统上同构运行Android系统时多窗口运行Android应用的问题。
首先,AnBox的多窗口技术来源于开源的FreeForm技术,该技术还在开发阶段,并不稳定;其次,Anbox在支持3D图形方面,采用了OpenGLES到OpenGL的3D图形语言翻译技术,该技术可以把OpenGLES2.0标准的语言较准确的翻译成OpenGL语言,但是很难把OpenGLES3.0标准的语言翻译成OpenGL语言,然而大量Android应用到OpenGLES3.0的标准,因此Anbox目前支持的图形类Android应用十分有限。综上所述,采用AnBox等类似技术来实现的Android兼容产品均存在比较严重的应用兼容性问题,应用多窗口运行后会产生黑屏、花屏、闪退等一系列问题,仍然无法实用化。
三:Chrome/ARC(App Runtime for Chrome)技术
Chrome/ARC技术本质上是在宿主系统——Chrome OS之上运行了一个Runtime环境,它是基于Chrome浏览器的,也可以应用于其他异构的操作系统如Linux,但是以Runtime形式来移植必然会造成大量的不兼容问题,单纯的内容提供类型的应用还好,但是一旦涉及到多媒体、3D演算,应用闪退的几率是很高的。目前Chorme ARC技术存在的主要问题如下:应用兼容性比较差,容易产生应用崩溃的问题;不能同时打开两个app,只能一次一个,没法后台跑程序;应用运行时得手动选择得手动选择水平还是竖直,遇到不让旋转的应用就会闪退。
综上所述,现有的技术思路来解决Linux上兼容运行Android都存在一定的问题,导致迟迟无法产品化。另外,标准Android主要支持的是物理显示设备,也就是说图形绘制后,图形都需要输出到物理显示设备的帧缓冲区FrameBuffer内,然后输出到物理屏幕上。目前在Linux兼容Android的技术实现中都是把图形绘制交给Linux内核来实现,而Linux的图形绘制和安卓图形绘制有较大的差异性,因此导致了不少兼容性问题。
发明内容
有鉴于此,本发明提出了一种在Linux操作系统上兼容运行Android应用的方法和装置,能够实现多个Android应用稳定地运行在Linux操作系统桌面上,降低用户在异构系统中操作Android应用的违和感,并且使用这种方法和装置所需系统开销较小,兼容性好。
本发明提供的一种在Linux操作系统上兼容运行Android应用的方法,包括:
在Linux操作系统上运行Android运行环境,Linux操作系统在Linux桌面上为Android应用设置显示窗口;
所述Linux操作系统捕获用户在Linux桌面的操作并记录为第一操作数据;
所述Android运行环境获取所述第一操作数据,根据所述第一操作数据生成所述Android应用的第一图形数据;
所述Linux操作系统获取所述第一图形数据,进行所述显示窗口与所述第一图形数据的合成,生成Linux桌面显示数据;
将所述Linux桌面显示数据发送到所述Android应用的Linux桌面显示窗口。
作为本发明实施方式的进一步的改进,每一Android应用对应一虚拟显示设备,所述虚拟显示设备位于Android运行环境中,且虚拟显示设备与其对应的Android应用的生命周期一致。
作为本发明实施方式的进一步的改进,所述虚拟显示设备具有图形缓冲区,所述第一图形数据存储于图形缓冲区中。
作为本发明实施方式的进一步的改进,所述第一图形数据为Android应用的真实GUI图形绘制数据,该图形的绘制由Android运行环境调用SurfaceFlinger服务完成。
作为本发明实施方式的进一步的改进,Linux操作系统所记录的第一操作数据包括对Linux桌面的操作数据和对Android应用的操作数据。
为了实现上述目的,本发明还提供了一种在Linux操作系统上兼容运行Android应用的装置,其特征在于,该装置包括:
Linux操作系统端,用于捕获用户在Linux桌面的第一操作数据,所述第一操作数据包括对Linux桌面的操作数据和对Android应用的操作数据;
Android运行环境端,用于从所述Linux操作系统端获取第一操作数据,根据所述第一操作数据生成所述Android应用的第一图形数据;
所述Android运行环境端包括虚拟显示模块,所述虚拟显示模块具有多个虚拟显示设备,每一Android应用对应一虚拟显示设备,且所述虚拟显示设备与其对应的Android应用的生命周期一致,所述Android应用的第一图形数据存于所述Android应用对应的虚拟显示设备中;
所述Linux操作系统端包括显存共享模块,所述显存共享模块在Linux桌面上为Android应用设置显示窗口,从所述虚拟显示设备获取所述Android应用的第一图形数据,进行所述第一图形数据与显示窗口的合成,生成Linux桌面显示数据。
作为本发明实施方式的进一步的改进,所述虚拟显示设备具有图形缓冲区,所述第一图形数据存储于所述图形缓冲区中。
作为本发明实施方式的进一步的改进,所述Android应用的图形数据为由所述Android运行环境调用SurfaceFlinger服务绘制的真实GUI图形数据。
籍由上述技术方案,本发明能够解决现有技术中Linux与Android这两种异构系统应用的兼容性及系统开销过大的问题,以及使用现有技术无法解决的在Linux操作系统上同时运行多个Android应用的问题,能够实现多个Android应用以多窗口的方式稳定运行在Linux桌面上,提升用户一致性操作体验,减少系统开销。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了单个Android应用虚拟显示技术的流程图;
图2示出了Android运行环境中的虚拟显示设备中存储的第一图形数据运行在Linux桌面上的显存共享技术之示意图;
图3示出了在Linux操作系统中关闭注销Android应用及Linux桌面显示窗口的处理流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提出了一种在Linux操作系统上兼容运行Android应用的方法和装置,主要包括Android运行环境端的虚拟显示模块及Linux操作系统端的显存共享模块。
虚拟显示模块:本发明中Android应用的图形绘制工作由Android运行环境进行,在Android运行环境中根据Android应用的启动数量创建多个虚拟显示设备,每个虚拟显示设备对应一个Android应用进程,然后在Android运行环境的图形绘制层中通过执行GPU的合成,可以将图层和GPU帧缓冲区的图像内容直接输出到虚拟显示设备的图形缓冲区中,此时绘制好的图形并没有直接显示输出到Linux桌面上,而只是显示输出到虚拟显示设备上。
显存共享模块:显存共享模块在Linux桌面上为Android应用设置显示窗口,当Android应用所对应的图形需要真正显示到Linux桌面上时,由Linux操作系统读取该Android应用对应的虚拟显示设备的图形缓冲区中的图形数据,进行图形和窗口的合成以及显示工作,把多个Android应用以窗口化的方式显示输出到Linux桌面上。
下面以在Linux操作系统上兼容运行单个Android应用为例详细描述本发明,Linux操作系统上兼容运行多个Android应用时,重复此流程即可。
图1示出了本发明中单个Android应用虚拟显示技术的流程图。
本发明在Linux操作系统上兼容运行Android应用的方法,包括如下步骤:
S1:在Linux操作系统上运行Android运行环境,Linux操作系统在Linux桌面上为Android应用设置显示窗口。
S2:Linux操作系统捕获用户在Linux桌面的操作,并记录为第一操作数据。所记录的第一操作数据包括Android应用的启动、运行时操作、运行时输入、关闭应用等操作,还包括对除Android应用之外的Linux桌面其他部分进行的操作。
S3:Linux操作系统将获取所述第一操作数据传给Android运行环境,根据所述第一操作数据生成所述Android应用的第一图形数据。具体步骤如下:
S31:Android运行环境调用SurfaceFlinger服务,启动用户所操作的Android应用的图形绘制工作,同时通知Android运行环境创建一个新的虚拟显示设备;
S32:在Android运行环境中进行该Android应用的真实GUI图形绘制,调用3D图形库进行该Android应用的内部图形绘制;
S33:把绘制好的图形输出到该Android应用对应的虚拟显示设备的图形缓冲区中。
S4:Linux操作系统获取第一图形数据,进行显示窗口与第一图形数据的合成,生成Linux桌面显示数据。图2示出了Android运行环境中的虚拟显示设备中存储的第一图形数据在Linux桌面上显示的示意图。生成Linux桌面显示数据的具体步骤如下:
S41:Android运行环境获取虚拟显示设备的图形缓冲区中的相关物理地址;
S42:把该图形缓冲区的物理地址以指针的方式发送给Linux的图形绘制模块;
S43:Linux获取图形缓冲区并复制相关图形信息到物理显示设备的图形缓冲区;
S44:把物理显示设备的图形缓冲区的内容填充到指定桌面显示窗口中;
S45:由Linux的图形绘制模块进行窗口和图形的合成工作,生成Linux桌面显示数据;
S4:生成的Linux桌面显示数据被发送到该Android应用对应的Linux桌面显示窗口,此时用户可看到其所操作的Android应用图形刷新显示。
在本发明装置的运行过程中,Linux操作系统端需要监听Android运行环境的虚拟显示设备输出接口,获取用户操作事件的处理结果是否更新了图形缓冲区,如果发现更新,则重复步骤S4,S5,在对应Android应用的桌面窗口中进行相应的图形合成和刷新显示。
图3示出了在Linux操作系统中关闭注销Android应用及Linux桌面显示窗口的处理流程图,当需要关闭Android应用时,Linux操作系统桌面上的相应显示窗口需要关闭和注销,系统需要回收与该Android应用相应的资源,具体步骤为:
在Linux桌面进行关闭Android应用的操作,Linux将关闭应用的事件消息通知到Android运行环境;
Android运行环境注销为该应用创建的虚拟显示设备,回收相应的资源;同时,Android运行环境关闭进程,回收系统资源,清空前述虚拟显示设备的图形缓冲区;
Android运行环境通知Linux端,此时Android应用注销完毕;
Linux端清空物理显示设备的图形缓冲区,关闭该Android应用的显示窗口。
经过上述步骤,可以在Linux操作系统桌面上完整运行一个Android应用,包括启动、显示、操作和关闭一个Android应用的窗口图像内容,如果需要在Linux操作系统上运行多个Android应用,则重复上述流程即可。每个Android应用对应显示在Linux操作系统桌面的一个独立窗口中。由于虚拟显示设备的数量只依赖于内存的多少,因此理论上在内存允许的情况下,可以在不受限的在Linux操作系统中启动任意多个Android应用,并在Linux操作系统桌面上显示。
为了将Android运行环境中虚拟显示设备中的图像在Linux桌面上正常显示,并且够实时刷新显示,给用户操作流畅的使用体验,在Linux侧需要实现一组接口,这组接口主要包括三部分内容:
(1)捕获用户在Linux桌面的鼠标点击事件,包括Android应用内的所有点击操作,把相应的事件通过接口传递给Android运行环境,Android运行环境获取相应的鼠标点击事件和点击位置,做相应的运行处理,并重新绘制反馈结果的图形,刷新该Android应用对应的虚拟显示设备图形缓冲区,Linux获取图形缓冲区并复制相关图形信息到物理显示设备的图形缓冲区;
(2)Linux侧需要监听Android运行环境的虚拟显示设备输出接口,获取操控事件的处理结果是否更新了图形缓冲区,如果发现更新,则在对应Android应用的桌面窗口中进行相应的图形合成和刷新显示;
(3)向Android运行环境提供鼠标、键盘外设的双向接口,输出/输入相应的设备事件和能力,以实现完成的Android应用的操作能力。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

Claims (10)

1.一种在Linux操作系统上兼容运行Android应用的方法,其特征在于,所述方法包括:
在Linux操作系统上运行Android运行环境,Linux操作系统在Linux桌面上为Android应用设置显示窗口;
所述Linux操作系统捕获用户在Linux桌面的操作并记录为第一操作数据;
所述Android运行环境获取所述第一操作数据,根据所述第一操作数据生成所述Android应用的第一图形数据;
所述Linux操作系统获取所述第一图形数据,进行所述显示窗口与所述第一图形数据的合成,生成Linux桌面显示数据;
将所述Linux桌面显示数据发送到所述Android应用的Linux桌面显示窗口。
2.一种如权利要求1所述的在Linux操作系统上兼容运行Android应用的方法,其特征在于,每一Android应用对应一虚拟显示设备,所述虚拟显示设备位于所述Android运行环境中,且所述虚拟显示设备与其对应的Android应用的生命周期一致。
3.一种如权利要求2所述的在Linux操作系统上兼容运行Android应用的方法,其特征在于,所述虚拟显示设备具有图形缓冲区,所述第一图形数据存储于所述图形缓冲区中。
4.一种如权利要求1或3所述的在Linux操作系统上兼容运行Android应用的方法,其特征在于,所述第一图形数据的绘制,由所述Android运行环境调用SurfaceFlinger服务完成。
5.一种如权利要求1至3中任一项所述的在Linux操作系统上兼容运行Android应用的方法,其特征在于,所述第一图形数据为所述Android应用的真实GUI图形绘制数据。
6.一种如权利要求4所述的在Linux操作系统上兼容运行Android应用的方法,其特征在于,所述第一图形数据为所述Android应用的真实GUI图形绘制数据。
7.一种如权利要求1至3中任一项所述的在Linux操作系统上兼容运行Android应用的方法,其特征在于,所述第一操作数据包括对Linux桌面的操作数据和对Android应用的操作数据。
8.一种在Linux操作系统上兼容运行Android应用的装置,其特征在于,该装置包括:
Linux操作系统端,用于捕获用户在Linux桌面的第一操作数据,所述第一操作数据包括对Linux桌面的操作数据和对Android应用的操作数据;
Android运行环境端,用于从所述Linux操作系统端获取第一操作数据,根据所述第一操作数据生成所述Android应用的第一图形数据;
所述Android运行环境端包括虚拟显示模块,所述虚拟显示模块具有多个虚拟显示设备,每一Android应用对应一虚拟显示设备,且所述虚拟显示设备与其对应的Android应用的生命周期一致,所述Android应用的第一图形数据存于所述Android应用对应的虚拟显示设备中;
所述Linux操作系统端包括显存共享模块,所述显存共享模块在Linux桌面上为Android应用设置显示窗口,从所述虚拟显示设备获取所述Android应用的第一图形数据,进行所述第一图形数据与显示窗口的合成,生成Linux桌面显示数据。
9.一种如权利要求8所述的在Linux操作系统上兼容运行Android应用的装置,其特征在于,所述虚拟显示设备具有图形缓冲区,所述第一图形数据存储于所述图形缓冲区中。
10.一种如权利要求9所述的在Linux操作系统上兼容运行Android应用的装置,其特征在于,所述Android应用的图形数据为由所述Android运行环境调用SurfaceFlinger服务绘制的真实GUI图形数据。
CN202010899882.5A 2020-08-31 2020-08-31 一种在Linux操作系统上兼容运行Android应用的方法和装置 Active CN112114916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010899882.5A CN112114916B (zh) 2020-08-31 2020-08-31 一种在Linux操作系统上兼容运行Android应用的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010899882.5A CN112114916B (zh) 2020-08-31 2020-08-31 一种在Linux操作系统上兼容运行Android应用的方法和装置

Publications (2)

Publication Number Publication Date
CN112114916A true CN112114916A (zh) 2020-12-22
CN112114916B CN112114916B (zh) 2021-06-08

Family

ID=73804636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010899882.5A Active CN112114916B (zh) 2020-08-31 2020-08-31 一种在Linux操作系统上兼容运行Android应用的方法和装置

Country Status (1)

Country Link
CN (1) CN112114916B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157362A (zh) * 2021-04-27 2021-07-23 麒麟软件有限公司 一种应用于Linux上Android多窗口显示方法
CN113254154A (zh) * 2021-05-21 2021-08-13 技德技术研究所(武汉)有限公司 一种在Linux上兼容运行Android系统的应用启动方法及装置
CN113641437A (zh) * 2021-08-16 2021-11-12 深圳技德智能科技研究院有限公司 一种Linux兼容Android的应用界面旋转方法及装置
CN113687888A (zh) * 2021-05-18 2021-11-23 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法
CN113885861A (zh) * 2021-09-24 2022-01-04 北京鲸鲮信息系统技术有限公司 跨系统的组件复用的方法及装置
CN114217763A (zh) * 2022-02-22 2022-03-22 麒麟软件有限公司 在Linux上兼容Android应用的窗口双屏协同显示方法
WO2023082716A1 (zh) * 2021-11-11 2023-05-19 北京字节跳动网络技术有限公司 在Linux系统中操作安卓应用的方法、装置和设备
CN116339900A (zh) * 2023-05-30 2023-06-27 北京麟卓信息科技有限公司 一种跨运行环境的多窗口融合显示方法
CN113885861B (zh) * 2021-09-24 2024-07-02 北京字节跳动网络技术有限公司 跨系统的组件复用的方法及装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810040A (zh) * 2011-05-31 2012-12-05 联想(北京)有限公司 一种显示处理方法、装置及计算机系统
CN106844066A (zh) * 2017-01-22 2017-06-13 腾讯科技(深圳)有限公司 一种应用运行方法、装置及系统
CN107291319A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种窗口显示方法、信息交互方法及系统
CN107463402A (zh) * 2017-07-31 2017-12-12 腾讯科技(深圳)有限公司 虚拟操作系统的运行方法和装置
CN107547474A (zh) * 2016-06-27 2018-01-05 中兴通讯股份有限公司 一种异构型双系统的图形显示方法和设备
CN108021425A (zh) * 2017-12-28 2018-05-11 南开大学 一种集成多个应用图形窗口的虚拟桌面系统及运行方法
CN108279963A (zh) * 2018-01-05 2018-07-13 郑州信大捷安信息技术股份有限公司 一种单Linux内核多Android系统的智能终端显示虚拟化方法
CN108762815A (zh) * 2018-05-16 2018-11-06 北京麟卓信息科技有限公司 一种基于非虚拟化体系架构的Android运行环境实现方法
US20190121682A1 (en) * 2015-04-26 2019-04-25 Intel Corporation Integrated android and windows device
CN110032413A (zh) * 2019-03-05 2019-07-19 华为技术有限公司 一种桌面虚拟化方法、相关设备及计算机存储介质
CN110442389A (zh) * 2019-08-07 2019-11-12 北京技德系统技术有限公司 一种多桌面环境共享使用gpu的方法
US10606872B1 (en) * 2017-05-22 2020-03-31 Palantir Technologies Inc. Graphical user interface for a database system
US20200218519A1 (en) * 2017-06-05 2020-07-09 Umajin Inc. Methods and systems for creating applications using scene trees

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810040A (zh) * 2011-05-31 2012-12-05 联想(北京)有限公司 一种显示处理方法、装置及计算机系统
US20190121682A1 (en) * 2015-04-26 2019-04-25 Intel Corporation Integrated android and windows device
CN107291319A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种窗口显示方法、信息交互方法及系统
CN107547474A (zh) * 2016-06-27 2018-01-05 中兴通讯股份有限公司 一种异构型双系统的图形显示方法和设备
CN106844066A (zh) * 2017-01-22 2017-06-13 腾讯科技(深圳)有限公司 一种应用运行方法、装置及系统
US10606872B1 (en) * 2017-05-22 2020-03-31 Palantir Technologies Inc. Graphical user interface for a database system
US20200218519A1 (en) * 2017-06-05 2020-07-09 Umajin Inc. Methods and systems for creating applications using scene trees
CN107463402A (zh) * 2017-07-31 2017-12-12 腾讯科技(深圳)有限公司 虚拟操作系统的运行方法和装置
CN108021425A (zh) * 2017-12-28 2018-05-11 南开大学 一种集成多个应用图形窗口的虚拟桌面系统及运行方法
CN108279963A (zh) * 2018-01-05 2018-07-13 郑州信大捷安信息技术股份有限公司 一种单Linux内核多Android系统的智能终端显示虚拟化方法
CN108762815A (zh) * 2018-05-16 2018-11-06 北京麟卓信息科技有限公司 一种基于非虚拟化体系架构的Android运行环境实现方法
CN110032413A (zh) * 2019-03-05 2019-07-19 华为技术有限公司 一种桌面虚拟化方法、相关设备及计算机存储介质
CN110442389A (zh) * 2019-08-07 2019-11-12 北京技德系统技术有限公司 一种多桌面环境共享使用gpu的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
搜狐网科技热点资讯小站: "国产独创:Linux环境完美兼容原生安卓App", 《HTTPS://WWW.SOHU.COM/A/408187528_100191015》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157362A (zh) * 2021-04-27 2021-07-23 麒麟软件有限公司 一种应用于Linux上Android多窗口显示方法
CN113687888B (zh) * 2021-05-18 2023-08-08 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法
CN113687888A (zh) * 2021-05-18 2021-11-23 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法
CN113254154A (zh) * 2021-05-21 2021-08-13 技德技术研究所(武汉)有限公司 一种在Linux上兼容运行Android系统的应用启动方法及装置
CN113254154B (zh) * 2021-05-21 2024-03-29 技德技术研究所(武汉)有限公司 一种在Linux上兼容运行Android系统的应用启动方法及装置
CN113641437A (zh) * 2021-08-16 2021-11-12 深圳技德智能科技研究院有限公司 一种Linux兼容Android的应用界面旋转方法及装置
CN113641437B (zh) * 2021-08-16 2023-06-16 深圳技德智能科技研究院有限公司 一种Linux兼容Android的应用界面旋转方法及装置
CN113885861A (zh) * 2021-09-24 2022-01-04 北京鲸鲮信息系统技术有限公司 跨系统的组件复用的方法及装置
CN113885861B (zh) * 2021-09-24 2024-07-02 北京字节跳动网络技术有限公司 跨系统的组件复用的方法及装置
WO2023082716A1 (zh) * 2021-11-11 2023-05-19 北京字节跳动网络技术有限公司 在Linux系统中操作安卓应用的方法、装置和设备
CN114217763A (zh) * 2022-02-22 2022-03-22 麒麟软件有限公司 在Linux上兼容Android应用的窗口双屏协同显示方法
CN116339900B (zh) * 2023-05-30 2023-07-18 北京麟卓信息科技有限公司 一种跨运行环境的多窗口融合显示方法
CN116339900A (zh) * 2023-05-30 2023-06-27 北京麟卓信息科技有限公司 一种跨运行环境的多窗口融合显示方法

Also Published As

Publication number Publication date
CN112114916B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN112114916B (zh) 一种在Linux操作系统上兼容运行Android应用的方法和装置
CN110096277B (zh) 一种动态页面展示方法、装置、电子设备及存储介质
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
CN108279966B (zh) 网页截图方法、装置、终端及存储介质
EP2622463B1 (en) Instant remote rendering
US8819705B2 (en) User interaction support across cross-environment applications
US8933949B2 (en) User interaction across cross-environment applications through an extended graphics context
US8963939B2 (en) Extended graphics context with divided compositing
CN106843715B (zh) 用于远程化的应用的触摸支持
CN105807967B (zh) 一种电子白板的书写方法及装置
CN112269603A (zh) 一种在Linux上兼容运行Android应用的图形显示方法与装置
CN114741044B (zh) 一种基于异构渲染的跨运行环境显示输出共享方法
US20160291846A1 (en) Generating carousel user interface with graphics processing unit
CN112532896A (zh) 视频的制作方法、装置、电子设备以及存储介质
EP4135333A1 (en) Image display method and apparatus, electronic device, and medium
CN114968152A (zh) 减少virtio-gpu额外性能损耗的方法
KR20040021563A (ko) 화면 표시 처리 장치, 화면 표시 처리 방법 및 컴퓨터프로그램
CN110362375A (zh) 桌面数据的显示方法、装置、设备和存储介质
WO2023221822A1 (zh) 数据处理方法、电子设备和可读存储介质
CN114035851B (zh) 多系统的图形数据处理方法及装置、电子设备和存储介质
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
CN117234655B (zh) 基于安卓系统运行Linux桌面程序的方法、装置、设备及介质
CN112367295A (zh) 插件展示方法及装置、存储介质及电子设备
US20230350532A1 (en) System and method for on-screen graphical user interface encapsulation and application history reproduction
US12019851B2 (en) Drawer page overlay for multitasking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant