CN117234655B - 基于安卓***运行Linux桌面程序的方法、装置、设备及介质 - Google Patents
基于安卓***运行Linux桌面程序的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117234655B CN117234655B CN202311501838.4A CN202311501838A CN117234655B CN 117234655 B CN117234655 B CN 117234655B CN 202311501838 A CN202311501838 A CN 202311501838A CN 117234655 B CN117234655 B CN 117234655B
- Authority
- CN
- China
- Prior art keywords
- android
- linux
- kernel
- interface
- desktop program
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006870 function Effects 0.000 claims description 59
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 7
- 230000001133 acceleration Effects 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 12
- 238000009877 rendering Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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桌面程序的方法、装置、设备及介质,该方法包括以下步骤:响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;基于内核兼容层,对Linux桌面程序的接口进行转换翻译,使得Linux桌面程序访问Android Linux内核的Android图形处理器;基于Android图形处理器,对显示设备中的预设参数进行设置。本申请旨在通过内核兼容层,使Linux桌面程序可访问安卓***的Android图形处理器,利用Android图形处理器对显示设备的预设参数进行设置,有效提高Linux桌面程序在Android Linux内核上的运行速度。
Description
技术领域
本申请涉及操作***技术领域,尤其涉及基于安卓***运行Linux桌面程序的方法、装置、设备及介质。
背景技术
我们常用的终端设备,例如手机、iPad、电脑等都装配有操作***,该操作***上会安装有各类应用软件,其中大部分应用软件为带图形界面的软件。
但是,目前在安卓操作***上运行Linux桌面程序会出现运行缓慢,甚至无法加载Linux桌面程序的情况。因此,现有技术中亟需一种基于安卓***兼容运行Linux桌面程序且运行时效高的方案。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种基于安卓***运行Linux桌面程序的方法、装置、设备及介质,旨在通过内核兼容层,使Linux桌面程序可访问安卓***的Android图形处理器,利用Android图形处理器对显示设备的预设参数进行设置,有效提高Linux桌面程序在Android Linux内核上的运行速度。
为实现上述目的,本申请提供一种基于安卓***运行Linux桌面程序的方法,应用于安卓***兼容Linux桌面程序的环境中,所述基于安卓***运行Linux桌面程序的方法包括以下步骤:响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;其中,所述Linux应用界面为Linux桌面程序的人机交互界面,所述Linux桌面程序和所述内核兼容层均搭建于预先构建的Android Linux内核上;基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述Android Linux内核的Android图形处理器;基于所述Android图形处理器,对显示设备中的预设参数进行设置。
可选地,上述所述内核兼容层包括转换接口;所述响应于Linux应用界面的输入指令,调用预先构建的内核兼容层,包括:响应于所述Linux应用界面的输入指令,确定所述Linux桌面程序的调用函数;基于所述Linux桌面程序的调用函数,并调用所述内核兼容层的转换接口。
可选地,上述所述基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述Android Linux内核的Android图形处理器,包括:基于所述内核兼容层的转换接口,对所述Linux桌面程序的调用函数的接口进行转换翻译,使得所述调用函数的接口类型与所述Android图形处理器的接口类型相适配;基于所述Linux桌面程序的调用函数,调用所述Android图形处理器的对应函数。
可选地,上述所述基于所述Android图形处理器,对显示设备中的预设参数进行设置,包括:基于调用的所述Android图形处理器的对应函数,对所述显示设备的显示接口所对应的参数进行设置。
可选地,上述所述基于所述Android图形处理器,对显示设备中的预设参数进行设置,包括:基于调用的所述Android图形处理器的对应函数,对所述显示设备的硬件加速所对应的参数进行设置。
可选地,上述所述Android Linux内核的构建方法包括:删除和禁止运行原始Android内核的预设架构层,得到初始Android内核;在所述初始Android内核上搭建所述内核兼容层,得到初始Android Linux内核;对传统Linux内核的预设架构层进行裁剪,并移植至所述初始Android Linux内核上,得到所述Android Linux内核。
可选地,上述所述Android Linux内核上还搭建有Android桌面程序,其中,所述Android桌面程序与所述Linux桌面程序在所述Android Linux内核上分时切换运行。
此外,为实现上述目的,本申请还提供一种基于安卓***运行Linux桌面程序的装置,应用于安卓***兼容Linux桌面程序的环境,所述基于安卓***运行Linux桌面程序的装置包括:输入模块,用于响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;其中,所述Linux应用界面为Linux桌面程序的人机交互界面,所述Linux桌面程序和所述内核兼容层均搭建于预先构建的Android Linux内核上;转换模块,用于基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述AndroidLinux内核的Android图形处理器;设置模块,用于基于所述Android图形处理器,对显示设备中的预设参数进行设置。
此外,为实现上述目的,本申请还提供一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的基于安卓***运行Linux桌面程序的方法。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的基于安卓***运行Linux桌面程序的方法。
本申请实施例提出的一种基于安卓***运行Linux桌面程序的方法、装置、设备及介质,具备以下技术效果:
通过预先构建的内核兼容层,对Linux桌面程序的接口进行转换翻译,使得Linux桌面程序可直接访问安卓***中的Android图形处理器,通过Android图形处理器调用相关函数对显示设备中的预设参数进行设置,有效提高Linux桌面程序在Android Linux内核上的运行速度。
附图说明
图1为本申请基于安卓***运行Linux桌面程序的方法一实施例的流程示意;
图2为本申请基于安卓***运行Linux桌面程序的方法的架构示意图;
图3为本申请基于安卓***运行Linux桌面程序的方法的内核兼容层转换示意图;
图4为本申请基于安卓***运行Linux桌面程序的装置一实施例的功能模块示意图;
图5为本申请实施例中一种计算设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在现有技术中,我们常用的终端设备,例如手机、iPad、电脑等都装配有操作***,该操作***上会安装有各类应用软件,其中大部分应用软件为带图形界面的软件。
但是,目前在安卓操作***上运行Linux桌面程序会出现运行缓慢,甚至无法加载Linux桌面程序的情况。因此,现有技术中亟需一种基于安卓***兼容运行Linux桌面程序且运行时效高的方案。
为此,本申请提供一种解决方案,旨在通过内核兼容层,使Linux桌面程序可访问安卓***的Android图形处理器,利用Android图形处理器对显示设备的预设参数进行设置,有效提高Linux桌面程序在Android Linux内核上的运行速度。
参照图1为本申请基于安卓***运行Linux桌面程序的方法一实施例的流程示意。参照图1,该基于安卓***运行Linux桌面程序的方法应用于应用于安卓***兼容Linux桌面程序的环境中,且可以通过具有计算功能的计算设备执行,该计算设备可以为台式计算机、笔记本电脑或者手机等。该基于安卓***运行Linux桌面程序的方法包括S110至S130,具体如下:
S110,响应于Linux应用界面的输入指令,调用预先构建的内核兼容层。
在示例实施例中,Linux应用界面为Linux桌面程序的人机交互界面,即Linux应用界面为图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)。图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。
内核兼容层为后台程序人员根据设计要求通过开发、设计和移植生成的一个程序集合,该程序集合包括有用于转换接口的函数。即内核兼容层包括转换接口,该转换接口用于转换翻译Linux桌面程序的调用函数的接口。
内核兼容层和Linux桌面程序均搭建于预先构建的Android Linux内核上。Android Linux内核是对传统Linux内核的预设架构进行裁剪、移植生成的。
在一具体的实施例中,参考图2所示,基于安卓***运行Linux桌面程序的方法的架构包括用户态和内核态。用户态也称为用户空间,用户空间就是用户进程所在的内存区域。内核态也称为内核空间或者***空间,内核空间就是操作***占据的内存区域。用户进程和***进程的所有数据都在内存中。处于用户态的程序只能访问用户空间,而处于内核态的程序可以访问用户空间和内核空间。
基于安卓***运行Linux桌面程序的方法的架构,在用户态侧包括至少一个Linux应用界面、X11/Wayland Client端、X11/Wayland composer(xwayland)层以及内核兼容层。其中,内核兼容层主要是通过开发、设计和移植代码,转换相关的渲染和显示接口,使得Linux桌面程序能够访问Android Linux内核中的图形处理器的资源,例如渲染,硬件显示等。
基于安卓***运行Linux桌面程序的方法的架构,在内核态侧包括预先构建的Android Linux内核以及硬件显示设备。其中,硬件显示设备为图中的Display硬件设备,常见的display硬件设备包括显示器、投影仪、电视机、显示适配器、无线显示等。
在本示例实施例中所涉及的显示设备为显示器,例如电脑显示器。其中,电脑显示器主要的功能是输出图像与显示文字,电脑显示器的接口主要包括:视频图形阵列 (VideoGraphics Array,简称VGA)、数字可视接口(Digital Visual lnterface,简称DVI)、多媒体接口(High-Definition Multimedia lnterface,简称HDMI)、以及DisplayPort接口(简称DP)等。
在一具体的实施例中,上述涉及的Android Linux内核的构建方法包括S1101至S1103:
S1101,删除和禁止运行原始Android内核的预设架构层,得到初始Android内核。
S1102,在初始Android内核上搭建内核兼容层,得到初始Android Linux内核。
S1103,对传统Linux内核的预设架构层进行裁剪,并移植至初始Android Linux内核上,得到Android Linux内核。
可理解,首先,删除和禁止运行了原始Android内核上的HWcomposer层以上的相关内容得到初始Android内核。其中,删除和禁止运行的内容具体包括Android APP界面、SutaceFlingerceng、HWcomposer层以及包括了所有的Android 图形用户界面(GraphicalUser Interface,简称GUI)相关的程序组件和服务等。此时,该初始Android内核***是一个无界面的Android***,通过命令行界面,能够运行CLI程序。其中,上述HWcomposer层为HWC(hwcomposer)硬件组合抽象层,是安卓中进行窗口(layer)合成和显示的HAL层模块,能够通过硬件设备进行图层合成,可以减轻安卓***图形处理器GPU的合成压力。
之后,根据设计要求后台程序人员设计了一个程序集合,该程序集即内核兼容层,将内核兼容层搭建在初始Android内核上,得到初始Android Linux内核;最后,再把传统Linux的X11/Wayland(xwayland)composer层,经过裁剪后移植到初始Android Linux内核上,得到Android Linux内核。也就是说,把传统Linux的图形用户界面框架,即一些开源代码集合进行修改、删除,并移植到了初始Android Linux内核上面,得到Android Linux内核。
在一具体的实施例中,上述响应于Linux应用界面的输入指令,调用预先构建的内核兼容层,具体包括S1110至S1120:
S1110:响应于Linux应用界面的输入指令,确定Linux桌面程序的调用函数。
S1120:基于Linux桌面程序的调用函数,并调用内核兼容层的转换接口。
可理解的,输入指令为在显示设备上,用户采用与显示设备连接的终端输入设备,在Linux应用界面点击对应图标生成的指令。该输入指令在预设时间段内,若用户点击多次也只能响应一次。该预设时间段可根据用户需求进行设备。
用户通过Linux应用界面输入指令,Linux程序接收并响应于用户输入的指令,确定Linux桌面程序需要调用的调用函数;之后,根据Linux桌面程序的调用函数的接口,调用内核兼容层的转换接口。
需要说明的是,结合上述实施例,本申请实施例中,基于安卓***运行Linux桌面程序的方法的架构中包括有多台显示设备,每台显示设备均显示有Linux应用界面,即本实施例所记载的方法可响应于多台显示设备的Linux应用界面的输入指令。此外,多个android桌面程序或者多个linux 桌面程序,可以同时显示在一个显示设备或者多个显示设备。
S120,基于内核兼容层,对Linux桌面程序的接口进行转换翻译,使得Linux桌面程序访问Android Linux内核的Android图形处理器。
在示例实施例中,Android图形处理器(Graphic Processing Unit,简称GPU),是一种专门设计用于处理计算机图形和图像的处理器。它可以加速计算机图形渲染和处理操作,提高计算机图形和图像的性能和质量又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。 图形处理器使显卡减少了对中央处理器(Central ProcessingUnit,简称CPU)的依赖,并进行部分原本中央处理器的工作。
在一具体的实施例中,上述基于内核兼容层,对Linux桌面程序的接口进行转换翻译,使得Linux桌面程序访问Android Linux内核的Android图形处理器,具体包括S1201至S1202:
S1201,基于内核兼容层的转换接口,对Linux桌面程序的调用函数的接口进行转换翻译,使得调用函数的接口类型与Android图形处理器的接口类型相适配。
S1202,基于Linux桌面程序的调用函数,调用Android图形处理器的对应函数。
结合上述实施例以及图3所示,可理解的,基于安卓***运行Linux桌面程序的方法的架构包括用户态和内核态,用户态为图中所示的Linux用户态侧,在Linux用户态侧包括有Linux桌面程序的Linux用户态EGL接口、Linux用户态OpenGLES接口、Linux用户态DRM接口以及Linux用户态KMS接口等。其中,Linux用户态EGL接口为用于显示Linux应用界面;Linux用户态OpenGLES接口用于硬件加速(或GPU渲染);Linux用户态DRM接口以及Linux用户态KMS接口,均用于更新画面和设置显示参数,其中,更新画面包括显示buffer 的切换、多图层之间的合成方式以及每个图层的显示位置;设置显示参数:包含刷新率、分辨率、电源状态以及休眠唤醒等等。
响应于Linux应用界面的输入指令,确定Linux桌面程序的调用函数,也即确定Linux用户态侧中的Linux桌面程序所要调用的接口,根据Linux用户态侧中的Linux桌面程序所要调用的接口,调用内核兼容层的转换接口进行转换翻译,使得调用函数的接口类型与Android Linux内核态侧的Android图形处理器的接口类型相适配,之后,Linux桌面程序通过转换后的接口调用Android图形处理器中的对应函数。
S130,基于Android图形处理器,对显示设备中的预设参数进行设置。
在一具体的实施例中,上述基于Android图形处理器,对显示设备中的预设参数进行设置,包括:基于调用的Android图形处理器的对应函数,对显示设备的显示接口所对应的参数进行设置。
可理解的,结合上述实施例,显示设备的显示接口包括视频图形阵列 (VideoGraphics Array,简称VGA)、数字可视接口(Digital Visual lnterface,简称DVI)、多媒体接口(High-Definition Multimedia lnterface,简称HDMI)、以及DisplayPort接口(简称DP)等。通过调用的Android图形处理器的对应函数,对上述的显示接口的对应参数进行设置。
在另一具体的实施例中,上述基于Android图形处理器,对显示设备中的预设参数进行设置,包括:基于调用的Android图形处理器的对应函数,对显示设备的硬件加速所对应的参数进行设置。
可理解的,硬件加速又称GPU渲染,GPU渲染参数包括细分及噪点阈值设置、细分及采样大小设置炫云功能等。
结合上述实施例,对上述内容进行举例说明。例如:在 Linux用户态,Linux程序调用glClearColor和glClear的函数,内核兼容层对glClearColor和glClear函数的接口进行转换,调用android内核态中与glClearColor和glClear函数对应的函数,将显存设置为显示对应颜色。
在一实施例中,Android Linux内核上还搭建有Android桌面程序,Android桌面程序与Linux桌面程序在Android Linux内核上分时切换运行。
可理解的,在一个***里(或者一块板卡上)搭建有Android桌面程序和Linux桌面程序,通过分时切换运行Android桌面程序和Linux桌面程序,使得Android桌面程序和Linux桌面程序能够有限制的协同工作,提高安卓***的兼容性。
也即,在同一个板卡上,部署Android原生***和部署基于安卓***运行Linux桌面程序的方法的架构,实现Android桌面程序和Linux桌面程序可以分时运行,如此能够在保证Linux桌面程序在Android Linux内核上高效运行的同时,减少了上下游厂商同时维护两套显示桌面框架的维护成本。
在图1所示的上述说明书实施例中,通过预先构建的内核兼容层,对Linux桌面程序的接口进行转换翻译,使得Linux桌面程序可直接访问安卓***中的Android图形处理器,通过Android图形处理器调用相关函数对显示设备中的预设参数进行设置,有效提高Linux桌面程序在Android Linux内核上的运行速度。
下述为本说明书装置实施例,可以用于执行本说明书方法实施例。对于本说明书装置实施例中未披露的细节,请参照本说明书方法实施例。
参照图4,为本申请基于安卓***运行Linux桌面程序的装置一实施例的功能模块示意图。
本说明书实施例中的一种基于安卓***运行Linux桌面程序的装置400应用于安卓***兼容Linux桌面程序的环境,基于安卓***运行Linux桌面程序的装置400包括:
输入模块410,用于响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;其中,Linux应用界面为Linux桌面程序的人机交互界面,Linux桌面程序和内核兼容层均搭建于预先构建的Android Linux内核上;
转换模块420,用于基于内核兼容层,对Linux桌面程序的接口进行转换翻译,使得Linux桌面程序访问Android Linux内核的Android图形处理器;
设置模块430,用于基于Android图形处理器,对显示设备中的预设参数进行设置。
一种可选的实施方式中,上述内核兼容层包括转换接口;上述输入模块410用于:响应于Linux应用界面的输入指令,确定Linux桌面程序的调用函数;基于Linux桌面程序的调用函数,并调用内核兼容层的转换接口。
一种可选的实施方式中,上述转换模块420用于:基于内核兼容层的转换接口,对Linux桌面程序的调用函数的接口进行转换翻译,使得调用函数的接口类型与Android图形处理器的接口类型相适配;基于Linux桌面程序的调用函数,调用Android图形处理器的对应函数。
一种可选的实施方式中,上述设置模块430用于:基于调用的Android图形处理器的对应函数,对显示设备的显示接口所对应的参数进行设置。
一种可选的实施方式中,上述设置模块430用于:基于调用的Android图形处理器的对应函数,对显示设备的硬件加速所对应的参数进行设置。
一种可选的实施方式中,上述基于安卓***运行Linux桌面程序的装置400还用于构建Android Linux内核,Android Linux内核的构建方法包括:删除和禁止运行原始Android内核的预设架构层,得到初始Android内核;在初始Android内核上搭建内核兼容层,得到初始Android Linux内核;对传统Linux内核的预设架构层进行裁剪,并移植至初始Android Linux内核上,得到Android Linux内核。
一种可选的实施方式中,上述基于安卓***运行Linux桌面程序的装置400中的Android Linux内核上还搭建有Android桌面程序,其中,Android桌面程序与Linux桌面程序在Android Linux内核上分时切换运行。
需要说明的是,上述实施例提供的基于安卓***运行Linux桌面程序的装置在执行基于安卓***运行Linux桌面程序的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于安卓***运行Linux桌面程序的装置与基于安卓***运行Linux桌面程序的方法属于同一构思。因此对于本说明书装置实施例中未披露的细节,请参照本说明书上述的基于安卓***运行Linux桌面程序的方法的实施例,这里不再赘述。
上述本说明书实施例序号仅仅为了描述,不代表实施例的优劣。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例方法的。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米***(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
在介绍了本申请示例性实施方式的方法、装置和介质之后,接下来,参考图5对本申请示例性实施方式的计算设备进行说明。
图5示出了适于用来实现本申请实施方式的示例性计算设备50的框图,该计算设备50可以是计算机***或服务器。图5显示的计算设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算设备50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,***存储器502,连接不同***组件(包括***存储器502和处理单元501)的总线503。
计算设备50典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算设备50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器502可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022。计算设备50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,ROM5023可以用于读写不可移动的、非易失性磁介质(图5中未显示,通常称为“硬盘驱动器”)。尽管未在图5中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。***存储器502中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块5024的程序/实用工具5025,可以存储在例如***存储器502中,且这样的程序模块5024包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5024通常执行本申请所描述的实施例中的功能和/或方法。
计算设备50也可以与一个或多个外部设备504(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器506通过总线503与计算设备50的其它模块(如处理单元501等)通信。应当明白,尽管图5中未示出,可以结合计算设备50使用其它硬件和/或软件模块。
处理单元501通过运行存储在***存储器502中的程序,从而执行各种功能应用以及数据处理,例如,响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;其中,所述Linux应用界面为Linux桌面程序的人机交互界面,所述Linux桌面程序和所述内核兼容层均搭建于预先构建的Android Linux内核上;基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述Android Linux内核的Android图形处理器;基于所述Android图形处理器,对显示设备中的预设参数进行设置。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了智能水表的离线数据管理装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
Claims (8)
1.一种基于安卓***运行Linux桌面程序的方法,其特征在于,应用于安卓***兼容Linux桌面程序的环境中,所述基于安卓***运行Linux桌面程序的方法包括以下步骤:
响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;其中,所述Linux应用界面为Linux桌面程序的人机交互界面,所述Linux桌面程序和所述内核兼容层均搭建于预先构建的Android Linux内核上;所述Android Linux内核的构建方法包括:删除和禁止运行原始Android内核的预设架构层,得到初始Android内核;在所述初始Android内核上搭建所述内核兼容层,得到初始Android Linux内核;对传统Linux内核的预设架构层进行裁剪,并移植至所述初始Android Linux内核上,得到所述Android Linux内核;
基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述Android Linux内核的Android图形处理器;
基于所述Android图形处理器,对显示设备中的预设参数进行设置;
其中,所述基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述Android Linux内核的Android图形处理器,包括:
基于所述内核兼容层的转换接口,对所述Linux桌面程序的调用函数的接口进行转换翻译,使得所述调用函数的接口类型与所述Android图形处理器的接口类型相适配;
基于所述Linux桌面程序的调用函数,调用所述Android图形处理器的对应函数。
2.根据权利要求1所述的方法,其特征在于,所述内核兼容层包括转换接口;
所述响应于Linux应用界面的输入指令,调用预先构建的内核兼容层,包括:
响应于所述Linux应用界面的输入指令,确定所述Linux桌面程序的调用函数;
基于所述Linux桌面程序的调用函数,并调用所述内核兼容层的转换接口。
3.根据权利要求2所述的方法,其特征在于,所述基于所述Android图形处理器,对显示设备中的预设参数进行设置,包括:
基于调用的所述Android图形处理器的对应函数,对所述显示设备的显示接口所对应的参数进行设置。
4.根据权利要求2所述的方法,其特征在于,所述基于所述Android图形处理器,对显示设备中的预设参数进行设置,包括:
基于调用的所述Android图形处理器的对应函数,对所述显示设备的硬件加速所对应的参数进行设置。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述Android Linux内核上还搭建有Android桌面程序,其中,所述Android桌面程序与所述Linux桌面程序在所述AndroidLinux内核上分时切换运行。
6.一种基于安卓***运行Linux桌面程序的装置,其特征在于,应用于安卓***兼容Linux桌面程序的环境,所述基于安卓***运行Linux桌面程序的装置包括:
输入模块,用于响应于Linux应用界面的输入指令,调用预先构建的内核兼容层;其中,所述Linux应用界面为Linux桌面程序的人机交互界面,所述Linux桌面程序和所述内核兼容层均搭建于预先构建的Android Linux内核上;所述Android Linux内核的构建方法包括:删除和禁止运行原始Android内核的预设架构层,得到初始Android内核;在所述初始Android内核上搭建所述内核兼容层,得到初始Android Linux内核;对传统Linux内核的预设架构层进行裁剪,并移植至所述初始Android Linux内核上,得到所述Android Linux内核;
转换模块,用于基于所述内核兼容层,对所述Linux桌面程序的接口进行转换翻译,使得所述Linux桌面程序访问所述Android Linux内核的Android图形处理器;以及用于基于所述内核兼容层的转换接口,对所述Linux桌面程序的调用函数的接口进行转换翻译,使得所述调用函数的接口类型与所述Android图形处理器的接口类型相适配;基于所述Linux桌面程序的调用函数,调用所述Android图形处理器的对应函数;设置模块,用于基于所述Android图形处理器,对显示设备中的预设参数进行设置。
7.一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的基于安卓***运行Linux桌面程序的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于, 所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于安卓***运行Linux桌面程序的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311501838.4A CN117234655B (zh) | 2023-11-13 | 2023-11-13 | 基于安卓***运行Linux桌面程序的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311501838.4A CN117234655B (zh) | 2023-11-13 | 2023-11-13 | 基于安卓***运行Linux桌面程序的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234655A CN117234655A (zh) | 2023-12-15 |
CN117234655B true CN117234655B (zh) | 2024-01-26 |
Family
ID=89093169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311501838.4A Active CN117234655B (zh) | 2023-11-13 | 2023-11-13 | 基于安卓***运行Linux桌面程序的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234655B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731347A (zh) * | 2004-08-06 | 2006-02-08 | 梁肇新 | 基于Linux的Windows软件兼容层体系结构 |
CN108170503A (zh) * | 2018-01-24 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 一种跨***运行安卓应用的方法、终端及存储介质 |
CN110515667A (zh) * | 2019-08-26 | 2019-11-29 | 武汉蓝星科技股份有限公司 | 一种基于linux内核的终端双***显示切换方法及终端双*** |
CN110618876A (zh) * | 2019-03-21 | 2019-12-27 | 天津麒麟信息技术有限公司 | 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法 |
CN112269603A (zh) * | 2020-10-16 | 2021-01-26 | 北京技德***技术有限公司 | 一种在Linux上兼容运行Android应用的图形显示方法与装置 |
CN112860364A (zh) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | 一种基于Linux内核的Android图形显示方法 |
CN113934464A (zh) * | 2021-12-14 | 2022-01-14 | 北京鲸鲮信息***技术有限公司 | Linux***中启动安卓应用的方法、装置和电子设备 |
CN114047960A (zh) * | 2021-11-10 | 2022-02-15 | 北京鲸鲮信息***技术有限公司 | 操作***运行方法及装置、电子设备和存储介质 |
CN114125558A (zh) * | 2022-01-26 | 2022-03-01 | 麒麟软件有限公司 | 基于Linux桌面显卡的安卓视频解码硬件加速方法 |
CN115934281A (zh) * | 2022-12-07 | 2023-04-07 | 合众新能源汽车股份有限公司 | 一种基于Android APP启动页面优化的方法、装置、设备及介质 |
CN116136784A (zh) * | 2021-11-16 | 2023-05-19 | 华为技术有限公司 | 数据处理方法、装置、存储介质及程序产品 |
CN116360928A (zh) * | 2023-05-15 | 2023-06-30 | 摩尔线程智能科技(北京)有限责任公司 | 一种安卓容器显示***的优化方法及装置、电子设备 |
CN116401003A (zh) * | 2023-02-17 | 2023-07-07 | 广东中兴新支点技术有限公司 | 基于桌面操作***的安卓应用运行方法、***及存储介质 |
CN116401655A (zh) * | 2023-03-31 | 2023-07-07 | 阿里巴巴(中国)有限公司 | 数据处理方法、***、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092190B2 (en) * | 2010-10-01 | 2015-07-28 | Z124 | Smartpad split screen |
US8909803B2 (en) * | 2009-03-16 | 2014-12-09 | Apple Inc. | Accessory identification for mobile computing devices |
-
2023
- 2023-11-13 CN CN202311501838.4A patent/CN117234655B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731347A (zh) * | 2004-08-06 | 2006-02-08 | 梁肇新 | 基于Linux的Windows软件兼容层体系结构 |
CN108170503A (zh) * | 2018-01-24 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 一种跨***运行安卓应用的方法、终端及存储介质 |
CN110618876A (zh) * | 2019-03-21 | 2019-12-27 | 天津麒麟信息技术有限公司 | 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法 |
CN110515667A (zh) * | 2019-08-26 | 2019-11-29 | 武汉蓝星科技股份有限公司 | 一种基于linux内核的终端双***显示切换方法及终端双*** |
CN112269603A (zh) * | 2020-10-16 | 2021-01-26 | 北京技德***技术有限公司 | 一种在Linux上兼容运行Android应用的图形显示方法与装置 |
CN112860364A (zh) * | 2021-02-07 | 2021-05-28 | 麒麟软件有限公司 | 一种基于Linux内核的Android图形显示方法 |
CN114047960A (zh) * | 2021-11-10 | 2022-02-15 | 北京鲸鲮信息***技术有限公司 | 操作***运行方法及装置、电子设备和存储介质 |
CN116136784A (zh) * | 2021-11-16 | 2023-05-19 | 华为技术有限公司 | 数据处理方法、装置、存储介质及程序产品 |
CN113934464A (zh) * | 2021-12-14 | 2022-01-14 | 北京鲸鲮信息***技术有限公司 | Linux***中启动安卓应用的方法、装置和电子设备 |
CN114125558A (zh) * | 2022-01-26 | 2022-03-01 | 麒麟软件有限公司 | 基于Linux桌面显卡的安卓视频解码硬件加速方法 |
CN115934281A (zh) * | 2022-12-07 | 2023-04-07 | 合众新能源汽车股份有限公司 | 一种基于Android APP启动页面优化的方法、装置、设备及介质 |
CN116401003A (zh) * | 2023-02-17 | 2023-07-07 | 广东中兴新支点技术有限公司 | 基于桌面操作***的安卓应用运行方法、***及存储介质 |
CN116401655A (zh) * | 2023-03-31 | 2023-07-07 | 阿里巴巴(中国)有限公司 | 数据处理方法、***、装置、设备及介质 |
CN116360928A (zh) * | 2023-05-15 | 2023-06-30 | 摩尔线程智能科技(北京)有限责任公司 | 一种安卓容器显示***的优化方法及装置、电子设备 |
Non-Patent Citations (4)
Title |
---|
"Android apps run securely on Chrome OS in Linux containers";Steven Max Patterson 等;《 Network World (Online)》;第1-3页 * |
"Android与桌面Linux应用程序协同运行机制的研究";何兴鹏;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;第I138-624页 * |
"多内核操作***文件***虚拟化的研究及实现";林鑫龙;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;第I138-1877页 * |
Linux程序向Android平台移植的研究;何兴鹏;刘钊远;陶琛嵘;;计算机测量与控制(第05期);第118-121页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117234655A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210303108A1 (en) | System and method for on-screen graphical user interface encapsulation and reproduction | |
EP2622463B1 (en) | Instant remote rendering | |
US8933949B2 (en) | User interaction across cross-environment applications through an extended graphics context | |
CN106843715B (zh) | 用于远程化的应用的触摸支持 | |
US8963939B2 (en) | Extended graphics context with divided compositing | |
US8819705B2 (en) | User interaction support across cross-environment applications | |
CN112114916B (zh) | 一种在Linux操作***上兼容运行Android应用的方法和装置 | |
WO2018120992A1 (zh) | 一种窗口渲染方法及终端 | |
CN113655975B (zh) | 图像显示方法、装置、电子设备和介质 | |
CN111913614B (zh) | 多画面显示控制方法、装置、存储介质及显示器 | |
US9904461B1 (en) | Method and system for remote text selection using a touchscreen device | |
CN117234655B (zh) | 基于安卓***运行Linux桌面程序的方法、装置、设备及介质 | |
CN112367295B (zh) | 插件展示方法及装置、存储介质及电子设备 | |
CN115698988A (zh) | 用于经由远程浏览器实例查看不兼容网页的***和方法 | |
TWI556167B (zh) | 用於多重本機軟體應用程式使用者介面組成之系統及方法 | |
US11599599B1 (en) | Emulating a transparency effect for a display element | |
CN111813404B (zh) | 基于混合图形显示的应用方法、介质及客户端 |
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 |