CN114047933A - 多开Android应用的方法、装置、设备和介质 - Google Patents
多开Android应用的方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114047933A CN114047933A CN202111221721.1A CN202111221721A CN114047933A CN 114047933 A CN114047933 A CN 114047933A CN 202111221721 A CN202111221721 A CN 202111221721A CN 114047933 A CN114047933 A CN 114047933A
- Authority
- CN
- China
- Prior art keywords
- android
- application
- container
- instruction
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 239000011230 binding agent Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000009434 installation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 241000723347 Cinnamomum Species 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 235000017803 cinnamon Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种多开Android应用的方法、装置、设备和介质,其中,该方法包括:接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种多开Android应用的方法、装置、设备和介质。
背景技术
对同一个Android应用,可能存在需要同时登陆多个账号的需求。比如,为了将工作和生活区分开来,需要在同一台设备上同时登陆两个微信账号。
然而,目前一台设备上只能登陆一个微信账号,查看不同账号的消息时需要来回切换微信账号查看消息。
由于未登录的账号的消息不能发出消息提醒,容易造成消息查看不及时或者错过重要消息等后果。
发明内容
本发明提供一种多开Android应用的方法、装置、设备和介质,用以解决现有技术中不能同时登陆相同Android应用的多个账号缺陷,可以保证及时获取不同账号的消息。
第一方面,本发明提供一种多开Android应用的方法,应用于容器管理模块,包括:接收启动Android目标应用的指令,其中,所述指令中携带所述Android目标应用的第一数目,所述第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取所述已创建容器中所述Android目标应用的第二数目;若所述第一数目大于或等于所述第二数目,向所述已创建容器中未安装所述Android目标应用的容器中的Android应用模块发送安装所述Android目标应用的指令,和/或根据所述第一数目与所述第二数目的差值,向容器创建模块发送创建新的容器的指令,向所述新的容器中发送所述Android目标应用,并向所述新的容器中的Android应用模块发送安装所述Android目标应用的指令。
根据本发明提供的多开Android应用的方法,应用于容器管理模块,还包括:若所述第一数目小于第二数目,向Linux系统下已创建容器中的Android应用模块发送第二查询指令,获取所述已创建容器中已安装所述Android目标应用的第三数目;若所述第一数目大于所述第三数目,根据所述第一数目与所述第二数目的差值,向所述已创建容器中未安装所述Android目标应用的容器中的Android应用模块发送安装所述Android目标应用的指令。
根据本发明提供的多开Android应用的方法,应用于容器管理模块,还包括:接收所述Android目标应用的启动入口,在Linux桌面创建所述Android目标应用的快捷方式并配置启动参数,所述启动参数包括应用入口和容器ID;和/或,发送卸载所述Android目标应用的指令至所述Android目标应用所在容器的Android应用模块;删除所述Linux桌面中所述Android目标应用的快捷方式;和/或,所述接收启动多开Android目标应用的指令之前,还包括:创建与所述至少两个容器对应的虚拟设备;发送创建至少两个容器的指令至所述容器创建模块;发送创建默认容器的指令至所述容器创建模块;预设文件目录,发送所述文件目录的路径至所述容器创建模块。
第二方面,本发明还提供了一种多开Android应用的方法,应用于Android应用模块,包括:接收第一查询指令,所述查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;若启动Android目标应用的指令中携带所述Android目标应用的第一数目大于所述第二数目,接收安装所述Android目标应用的指令,对所述Android目标应用进行安装。
根据本发明提供的多开Android应用的方法,应用于Android应用模块,还包括:若所述第一数目小于所述第二数目,接收第二查询指令,所述第二查询指令用于查询所述已创建容器中已安装所述Android目标应用的第三数目;若所述第一数目大于所述第三数目,接收安装所述Android目标应用的指令,并对所述Android目标应用进行安装。
第三方面,本发明还提供了一种多开Android应用的装置,应用于容器管理模块,包括:第一接收单元,接收启动Android目标应用的指令,其中,所述指令中携带所述Android目标应用的第一数目,所述第一数目为至少两个;第一查询单元,用于向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取所述已创建容器中所述Android目标应用的第二数目;第一处理单元,用于若所述第一数目大于或等于所述第二数目,向所述已创建容器中未安装所述Android目标应用的容器中的Android应用模块发送安装所述Android目标应用的指令,和/或根据所述第一数目与所述第二数目的差值,向容器创建模块发送创建新的容器的指令,向所述新的容器中发送所述Android目标应用,并向所述新的容器中的Android应用模块发送安装所述Android目标应用的指令。
第四方面,本发明还提供了一种多开Android应用的装置,应用于Android应用模块,包括:第一接收单元,用于接收第一查询指令,所述查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;第一处理单元,用于若启动Android目标应用的指令中携带所述Android目标应用的第一数目大于所述第二数目,接收安装所述Android目标应用的指令,对所述Android目标应用进行安装。
第五方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的多开Android应用的方法,应用于容器管理模块的步骤或如第二方面所述的多开Android应用的方法,应用于Android应用模块的步骤。
第六方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的多开Android应用的方法,应用于容器管理模块的步骤或如第二方面所述的多开Android应用的方法,应用于Android应用模块的步骤。
第七方面,本发明还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如权利要求1~3任一项所述的多开Android应用的方法,应用于容器管理模块的步骤或如权利要求4~5任一项所述的多开Android应用的方法,应用于Android应用模块的步骤。
本发明提供一种多开Android应用的方法、装置、设备和介质,通过接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。通过在不同的容器中安装同一个Android应用,可以实现同时运行多个Android应用,满足同一Android应用同时登陆多个账号等需求,便利用户操作。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种多开Android应用的方法,应用于容器管理模块实施例的流程示意图;
图2为本发明提供的一种多开Android应用的方法,应用于Android应用模块实施例的流程示意图;
图3为本发明提供的一种应用场景示意图;
图4为本发明提供的一种多开Android应用的装置,应用于容器管理模块实施例的结构组成示意图;
图5为本发明提供的另一种多开Android应用的装置,应用于Android应用模块实施例的组成结构示意图;
图6是本发明提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下述实施例中,Android(安卓)操作系统,涵盖Google发行的Android OS以及AOSP和基于AOSP的各种衍生系统,如MIUI、EMUI、One UI等。
在下述实施例中,Linux操作系统,全称GNU/Linux操作系统,如Ubuntu、Debian、RedHat等。Linux操作系统并不限定是运行在物理机上的,也可以是托管在其它操作系统上的操作系统,例如Windows系统中的WSL。
在下述实施例中,Android应用模块指的是Android中的应用管理模块,如PackageMangerService、PackageInstaller等,用来执行Android应用程序的安装(如接收应用程序的apk、abb等格式的安装文件并进行安装、接收应用程序的下载链接从而获得安装文件并进行安装、接收应用程序的名称等信息唤醒应用商店并进行安装)、卸载、查询等功能。
在下述实施例中,具有多种方式可以实现在Linux操作系统中部署安卓操作系统环境,包括但不限于LXC、LXD、Docker等。
在下述实施例中,Linux桌面指的是Linux操作系统的桌面环境的具体实现,包括但不限于KED、GNOME、Unity、MATE、Cinnamon等。
图1为本发明提供的一种多开Android应用的方法,应用于电子设备,电子设备中运行Linux操作系统,在Linux系统中部署容器,用来支持Android操作系统环境,Linux系统包括容器管理模块。如图1所示,该多开Android应用的方法包括以下步骤:
S101,接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个。
在步骤S101,Android目标应用是指用户想要同时启动的Android应用。用户发起启动Android目标应用的指令可以通过通讯协议模块传递,通讯协议模块位于容器管理模块内,可以通过socket、binder、pipe等实现通讯功能。第一数目可以根据用户的实际需求设定。比如,用户需要同时在Android目标应用上登陆3个账号,那么多开Android目标应用的数目为3,用户需要同时在Android目标应用上登陆5个账号,那么多开Android目标应用的数目为5;用户需求同时打开4个同样应用实例,那么多开Android目标应用的数目为4。本发明实施例对此不作限定。
S102,向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目。
在步骤S102中,每个容器具有一个Android应用模块,也就是说,Android应用模块与容器是一一对应的关系。第二数目包括在已创建容器中已安装的Android目标应用和在已创建容器中已存在未安装的Android目标应用(例如在容器中存在目标应用的安装文件但未安装)。
S103,若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。
在步骤S103中,已创建容器中未安装Android目标应用的容器是指已经存在该Android目标应用,但该当Android目标应用并未安装的容器。容器创建模块可以实现容器的创建、启动和删除。
容器的创建可以基于LXC技术实现,LXC是Linux Containers的缩写,意为Linux软件容器。LXC是一作系统层虚拟化(Operating system–level virtualization)技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的名字空间和共享API来分配不同软件容器的可用硬件资源,创造出应用程序的独立沙箱运行环境,使得Linux用户可以容易的创建和管理系统或应用容器。
Linux内核中,LXC技术利用了cgroups功能,来达成资源的区隔化。它同时也提供了名称空间区隔化的功能,使应用程序看到的操作系统环境被区隔成独立区间,包括行程树,网络,用户ID及挂载的文件系统。LXC利用cgroups与名称空间的功能,提供应用软件一个独立的操作系统环境。
基于LXC的设计理念,衍生了LXD、Docker等进一步的容器实现方式。
第一数目大于第二数目时,也就是需要同时开启的Android目标应用数目大于已创建容器中Android目标应用数目时,存在两种可能的情况。
第一种情况为,首先向已创建容器中未安装Android目标应用的容器发送安装该Android目标应用的指令,然后根据第一数目与第二数目的差值,发送创建差值对应数目的新的容器的指令,将该Android目标应用发送至新的容器,再发出在新的容器中安装该Android目标应用的指令。比如,指令中需要开启5个Android目标应用,即第一数目为5,已创建容器中的Android目标应用为3,即第二数目为3,满足第一数目大于第二数目。首先向已创建容器中的未安装该Android目标应用的容器的Android应用模块发送安装该Android目标应用的指令,此时已创建容器中已有3个容器安装了该Android目标应用;第一数目与第二数目的差值为2,然后发出创建2个新的容器的指令;再分别向2个新的容器发送该Android目标应用,并发送在2个新的容器安装该Android目标应用的指令。此时,Linux系统所有容器已安装了5个Android目标应用,可以实现该Android目标应用的多开。
第二种情况为,发送创建差值对应数目的新的容器的指令,将该Android目标应用发送至新的容器,再发出在新的容器中安装该Android目标应用的指令。此种情况发生的条件为第二数目为0。比如,指令中需要开启5个Android目标应用,即第一数目为5,已创建容器中的Android目标应用为0,即第二数目为0,满足第一数目大于第二数目。由于第二数目为0,意味着已创建容器中不存在具有该Android目标应用的容器,因此需要直接发出创建新的容器的指令。由于第一数目与第二数目的差值为5,发出创建与5个新的容器的指令;再分别向5个新的容器发送该Android目标应用,并发送在5个新的容器安装该Android目标应用的指令。此时,Linux系统所有容器已安装了5个Android目标应用,可以实现Android目标应用的多开。
第一数目等于第二数目时,存在一种情况,即直接向已创建容器中未安装Android目标应用的容器发送安装该Android目标应用的指令。比如,指令中需要开启5个Android目标应用,即第一数目为5,已创建容器中的Android目标应用为5,即第二数目为5,满足第一数目等于第二数目,向已创建容器中未安装该Android目标应用的容器的Android应用模块发送安装该Android目标应用的指令,此时Linux系统下已创建容器中已安装了5个Android目标应用,可以实现Android目标应用的多开。
在本发明提供的多开Android应用的方法,应用于容器管理模块,通过接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。通过在不同的容器中安装同一个Android应用,可以实现同时运行多个同样的Android应用,满足同一Android应用同时登陆多个账号、同一游戏多账号、多个同样应用同时运行等需求,无需来回切换账号,便利了用户操作,也避免了来回切换账号可能导致的信息丢失等情况。
在一些可选的实施例中,多开Android应用的方法,应用于容器管理模块,还包括:若第一数目小于第二数目,向Linux系统下已创建容器中的Android应用模块发送第二查询指令,获取已创建容器中已安装Android目标应用的第三数目;若第一数目大于第三数目,根据第一数目与第三数目的差值,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令。
其中,第一数目小于第二数目,也就是需要同时开启的Android目标应用数目大于已创建容器中Android目标应用数目。此时还需获取已创建容器中已安装Android目标应用的第三数目。第一数目大于三数目,也就是说需要同时开启的Android目标应用数目大于已创建容器中已安装Android目标应用数目,确定第一数目与第三数目的差值,也就是确定还需要安装的Android目标应用的数目,向对应该数目的未安装该Android目标应用的已创建容器的Android应用模块发送安装指令。比如,指令中需要开启3个Android目标应用,即第一数目为3,已创建容器中的Android目标应用为5,即第二数目为5,满足第一数目小于第二数目;已创建容器中已安装Android目标应用为2,即第三数目为2,此时已创建容器中已有2个容器安装了该Android目标应用,获取第一数目与第三数目的差值为1,向1个未安装该Android目标应用的已创建容器的Android应用模块发送安装该Android目标应用的指令,此时已创建容器中已有3个容器安装了该Android目标应用,可以实现该Android目标应用的多开。
若第一数目小于或等于第三数目,也就是说已创建容器中已存在满足该Android目标应用的数目,无需发出任何的安装指令,可以任意选取对应该Android目标应用的数目的已创建容器,启动其中的该Android目标应用,可以实现该Android目标应用的多开。比如,指令中需要开启3个Android目标应用,即第一数目为3,已创建容器中的Android目标应用为5,即第二数目为5,满足第一数目小于第二数目;已创建容器中已安装Android目标应用为5,即第三数目为5,此时已创建容器中已有5个容器安装了该Android目标应用,可以选择启动任意3个容器中的该Android目标应用,可以实现该Android目标应用的多开。
又比如,指令中需要开启3个Android目标应用,即第一数目为3,已创建容器中的Android目标应用为5,即第二数目为5,满足第一数目小于第二数目;已创建容器中已安装Android目标应用为3,即第三数目为3,此时已创建容器中已有3个容器安装了该Android目标应用,可以选择启动这3个容器中的该Android目标应用,可以实现该Android目标应用的多开。
在一些可选的实施例中,多开Android应用的方法,应用于容器管理模块,还包括:接收Android目标应用的启动入口,在Linux桌面创建Android目标应用的快捷方式并配置启动参数,启动参数包括应用入口和容器ID;发送卸载Android目标应用的指令至Android目标应用对应的Android应用模块;删除Linux桌面中Android目标应用的快捷方式。
其中,通过接收Android应用模块发送的启动入口,可以获得对应容器中的Android目标应用的启动入口。同时在Linux桌面创建容器中的每一个Android目标应用的快捷方式。快捷方式可以是Android目标应用的图标。每一个Android目标应用都有对应的图标,由于启动的Android目标应用是相同的,那么对应生成的图标也是相同的,可以通过图标的名称对不同容器中相同的Android目标应用进行区分。在创建快捷方式以后,对启动参数进行配置,可以实现对容器中的对应Android目标应用的启动。卸载Android目标应用的指令是用户发出的,用户将光标放置Android目标应用的图标上,点击右键选择卸载选项,容器管理模块即可获得卸载Android目标应用的指令,根据卸载的Android目标应用的容器ID将其发送至对应的Android应用模块,实现Android目标应用的卸载。卸载Android目标应用完毕后,对应删除Linux桌面中该Android目标应用的快捷方式。
在一些可选的实施例中,多开Android应用的方法,应用于容器管理模块,接收启动多开Android目标应用的指令之前,还包括:创建与至少两个容器对应的虚拟设备;发送创建至少两个容器的指令至容器创建模块;发送创建默认容器的指令至容器创建模块;预设文件目录,发送文件目录的路径至容器创建模块。
其中,虚拟设备可以为binder虚拟设备。binder虚拟设备实现进程间的通信,在Linux系统中binder虚拟设备通常只有一个,为了运行多个容器,在容器创建之前需要建立对应的binder虚拟设备。同时需要创建容器的专用目录,隔离多开应用使用的文件系统。
容器管理模块通过modprobe binder_linux命令行启用binder_linux模块,通过命令mount-t binder binder binderfs即可创建一个binder虚拟设备。
预设文件目录是用于存储与容器相关的文件、应用程序、参数或者其他相关信息。将文件目录的路径至容器创建模块是为了方便容器创建模块在创建容器时获取创建的路径。
为了实现多开Android应用,在容器创建时至少创建两个容器,可以确保至少有两个相同的Android应用存在各自对应的容器中。默认容器用于存放用户默认安装的Android应用。也就是说,当用户未指定Android应用安装在特定的容器中,那么该Android应用安装在默认容器中。
图2为本发明提供的一种多开Android应用的方法,应用于Android应用模块实施例的流程示意图。如图2所示,该方法包括包括:
S201,接收第一查询指令,查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目。
在步骤S201中,查询指令是容器管理模块发送的。对该步骤的说明详见步骤是S102,此处不作赘述。
S202,若启动Android目标应用的指令中携带Android目标应用的第一数目大于或等于第二数目,接收安装Android目标应用的指令,对Android目标应用进行安装。
在步骤S202中,对步骤S202的说明详见步骤是S103,此处不作赘述。
在一些可选的实施例中,多开Android应用的方法,应用于Android应用模块,还包括:若第一数目小于第二数目,接收第二查询指令,第二查询指令用于查询已创建容器中已安装Android目标应用的第三数目;若第一数目大于第三数目,接收安装Android目标应用的指令,并对Android目标应用进行安装。
对于上述内容的说明详见步骤S201和步骤S202,在此不作赘述。
图3为本发明提供的一种应用场景示意图。如图3所示,Linux系统包括Linux桌面应用、容器管理模块、容器1、容器2、容器3和容器4。用户发出多开4个应用1的指令给容器管理模块,容器管理模块查询容器1至容器4中应用1的数目。经查询,确定容器1至容器4中各有一个应用1,也就是说容器中的应用1也为4个。容器管理模块向各容器发送安装应用1的指令,各容器的应用1分别在对应容器下安装。容器管理模块获取各容器下应用1的安装入口,在Linux桌面创建各应用1的快捷方式,并配置启动参数。
图4为本发明提供的一种多开Android应用的装置,应用于容器管理模块实施例的结构组成示意图。如图4所示,多开Android应用的装置,包括:
第一接收单元401,接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;
第一查询单元402,用于向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;
第一处理单元403,若第一数目大于或等于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。
可选地,该多开Android应用的装置,应用于容器管理模块,还包括:
第二处理单元,用于若第一数目小于第二数目,向Linux系统下已创建容器中的Android应用模块发送第二查询指令,获取已创建容器中已安装Android目标应用的第三数目;
第三处理单元,用于若第一数目大于第三数目,根据第一数目与第三数目的差值,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令。
可选地,该多开Android应用的装置,应用于容器管理模块,还包括:
创建启动单元,用于接收Android目标应用的启动入口,在Linux桌面创建Android目标应用的快捷方式并配置启动参数,启动参数包括应用入口和容器ID;以及,
卸载发送单元,用于发送卸载Android目标应用的指令至Android目标应用容器的Android应用模块;
删除单元,用于删除Linux桌面中Android目标应用的快捷方式。
图5为本发明提供的另一种多开Android应用的装置,应用于Android应用模块实施例的组成结构示意图。如图5所示,该多开Android应用的装置包括:
第一接收单元,用于接收第一查询指令,查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;
第一处理单元,用于若启动Android目标应用的指令中携Android目标应用的第一数目大于第二数目,接收安装Android目标应用的指令,对Android目标应用进行安装。
图6是本发明提供的一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)503和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行多开Android应用的方法,应用于容器管理模块,或者执行多开Android应用的方法,应用于Android应用模块。
多开Android应用的方法,应用于容器管理模块,包括:接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。
多开Android应用的方法,应用于Android应用模块,包括:接收第一查询指令,查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;若启动Android目标应用的指令中携带Android目标应用的第一数目大于或等于第二数目,接收安装Android目标应用的指令,对Android目标应用进行安装。
此外,上述的存储器603中的逻辑指令可以通过软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行多开Android应用的方法,应用于容器管理模块,或者执行多开Android应用的方法,应用于Android应用模块。
多开Android应用的方法,应用于容器管理模块,包括:接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。
多开Android应用的方法,应用于Android应用模块,包括:接收第一查询指令,查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;若启动Android目标应用的指令中携带Android目标应用的第一数目大于或等于第二数目,接收安装Android目标应用的指令,对Android目标应用进行安装。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行多开Android应用的方法,应用于容器管理模块,或者执行多开Android应用的方法,应用于Android应用模块。
多开Android应用的方法,应用于容器管理模块,包括:接收启动Android目标应用的指令,其中,指令中携带Android目标应用的第一数目,第一数目为至少两个;向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取已创建容器中Android目标应用的第二数目;若第一数目大于第二数目,向已创建容器中未安装Android目标应用的容器中的Android应用模块发送安装Android目标应用的指令,和/或根据第一数目与第二数目的差值,向容器创建模块发送创建新的容器的指令,向新的容器中发送Android目标应用,并向新的容器中的Android应用模块发送安装Android目标应用的指令。
多开Android应用的方法,应用于Android应用模块,包括:接收第一查询指令,查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;若启动Android目标应用的指令中携带Android目标应用的第一数目大于或等于第二数目,接收安装Android目标应用的指令,对Android目标应用进行安装。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种多开Android应用的方法,应用于容器管理模块,其特征在于,包括:
接收启动Android目标应用的指令,其中,所述指令中携带所述Android目标应用的第一数目,所述第一数目为至少两个;
向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取所述已创建容器中所述Android目标应用的第二数目;
若所述第一数目大于或等于所述第二数目,向所述已创建容器中未安装所述Android目标应用的容器中的Android应用模块发送安装所述Android目标应用的指令,和/或根据所述第一数目与所述第二数目的差值,向容器创建模块发送创建新的容器的指令,向所述新的容器中发送所述Android目标应用,并向所述新的容器中的Android应用模块发送安装所述Android目标应用的指令。
2.根据权利要求1所述的多开Android应用的方法,应用于容器管理模块,其特征在于,还包括:
若所述第一数目小于所述第二数目,向Linux系统下已创建容器中的Android应用模块发送第二查询指令,获取所述已创建容器中已安装所述Android目标应用的第三数目;
若所述第一数目大于所述第三数目,根据所述第一数目与所述第三数目的差值,向所述已创建容器中未安装所述Android目标应用的容器中的Android应用模块发送安装所述Android目标应用的指令。
3.根据权利要求1~2任一项所述的多开Android应用的方法,应用于容器管理模块,其特征在于,还包括:
接收所述Android目标应用的启动入口,在Linux桌面创建所述Android目标应用的快捷方式并配置启动参数,所述启动参数包括应用入口和容器ID;和/或,
发送卸载所述Android目标应用的指令至所述Android目标应用所在容器的Android应用模块;
删除所述Linux桌面中所述Android目标应用的快捷方式;和/或,
所述接收启动多开Android目标应用的指令之前,还包括:
创建与所述至少两个容器对应的虚拟设备;发送创建至少两个容器的指令至所述容器创建模块;发送创建默认容器的指令至所述容器创建模块;
预设文件目录,发送所述文件目录的路径至所述容器创建模块。
4.一种多开Android应用的方法,应用于Android应用模块,其特征在于,包括:
接收第一查询指令,所述查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;
若启动Android目标应用的指令中携带所述Android目标应用的第一数目大于或等于所述第二数目,接收安装所述Android目标应用的指令,对所述Android目标应用进行安装。
5.根据权利要求4所述的多开Android应用的方法,应用于Android应用模块,其特征在于,还包括:
若所述第一数目小于所述第二数目,接收第二查询指令,所述第二查询指令用于查询所述已创建容器中已安装所述Android目标应用的第三数目;
若所述第一数目大于所述第三数目,接收安装所述Android目标应用的指令,并对所述Android目标应用进行安装。
6.一种多开Android应用的装置,应用于容器管理模块,其特征在于,包括:
第一接收单元,接收启动Android目标应用的指令,其中,所述指令中携带所述Android目标应用的第一数目,所述第一数目为至少两个;
第一查询单元,用于向Linux系统下已创建容器中的Android应用模块发送第一查询指令,获取所述已创建容器中所述Android目标应用的第二数目;
第一处理单元,若所述第一数目大于或等于所述第二数目,向所述已创建容器中未安装所述Android目标应用的容器中的Android应用模块发送安装所述Android目标应用的指令,和/或根据所述第一数目与所述第二数目的差值,向容器创建模块发送创建新的容器的指令,向所述新的容器中发送所述Android目标应用,并向所述新的容器中的Android应用模块发送安装所述Android目标应用的指令。
7.一种多开Android应用的装置,应用于Android应用模块,其特征在于,包括:
第一接收单元,用于接收第一查询指令,所述查询指令用于查询Linux系统下已创建容器中Android目标应用的第二数目;
第一处理单元,用于若启动Android目标应用的指令中携带所述Android目标应用的第一数目大于所述第二数目,接收安装所述Android目标应用的指令,对所述Android目标应用进行安装。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~3任一项所述的多开Android应用的方法,应用于容器管理模块的步骤或如权利要求4~5任一项所述的多开Android应用的方法,应用于Android应用模块的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~3任一项所述的多开Android应用的方法,应用于容器管理模块的步骤或如权利要求4~5任一项所述的多开Android应用的方法,应用于Android应用模块的步骤。
10.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1~3任一项所述的多开Android应用的方法,应用于容器管理模块的步骤或如权利要求4~5任一项所述的多开Android应用的方法,应用于Android应用模块的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111221721.1A CN114047933A (zh) | 2021-10-20 | 2021-10-20 | 多开Android应用的方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111221721.1A CN114047933A (zh) | 2021-10-20 | 2021-10-20 | 多开Android应用的方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114047933A true CN114047933A (zh) | 2022-02-15 |
Family
ID=80205371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111221721.1A Pending CN114047933A (zh) | 2021-10-20 | 2021-10-20 | 多开Android应用的方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114047933A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546536A (zh) * | 2022-03-21 | 2022-05-27 | 北京麟卓信息科技有限公司 | Linux平台上多安卓应用使用同一安卓应用的方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337816A1 (en) * | 2004-02-12 | 2014-11-13 | Raju Chiluvuri | Real Software Components for Achieving Real Component-Based Design |
CN104866342A (zh) * | 2015-05-07 | 2015-08-26 | 北京数字天域科技有限责任公司 | 在智能终端上同时开启多个同一应用程序的方法和装置 |
CN105183551A (zh) * | 2015-09-10 | 2015-12-23 | 电子科技大学 | 基于Linux容器技术的多Android系统之间切换方法 |
CN105357256A (zh) * | 2015-09-28 | 2016-02-24 | 深信服网络科技(深圳)有限公司 | 管理移动设备的方法及服务器 |
CN106095530A (zh) * | 2016-06-08 | 2016-11-09 | 电子科技大学 | 一种多Android系统的容器自动创建及其启动方法 |
CN106095603A (zh) * | 2016-06-23 | 2016-11-09 | 厦门芯鸽信息科技有限公司 | 一种Android系统相同的应用程序可同时开启多个的方法 |
US20180095973A1 (en) * | 2016-09-30 | 2018-04-05 | International Business Machines Corporation | Docker layer deduplication with layer referencing |
CN108052385A (zh) * | 2017-12-29 | 2018-05-18 | 亿企赢网络科技有限公司 | 一种容器管理方法、系统、设备及计算机存储介质 |
US20190294780A1 (en) * | 2018-03-26 | 2019-09-26 | International Business Machines Corporation | System and method for executing operating system level virtualization software objects |
CN113204307A (zh) * | 2021-05-06 | 2021-08-03 | 技德技术研究所(武汉)有限公司 | 一种在Linux上兼容运行Android系统的文件发送方法及装置 |
-
2021
- 2021-10-20 CN CN202111221721.1A patent/CN114047933A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337816A1 (en) * | 2004-02-12 | 2014-11-13 | Raju Chiluvuri | Real Software Components for Achieving Real Component-Based Design |
CN104866342A (zh) * | 2015-05-07 | 2015-08-26 | 北京数字天域科技有限责任公司 | 在智能终端上同时开启多个同一应用程序的方法和装置 |
CN105183551A (zh) * | 2015-09-10 | 2015-12-23 | 电子科技大学 | 基于Linux容器技术的多Android系统之间切换方法 |
CN105357256A (zh) * | 2015-09-28 | 2016-02-24 | 深信服网络科技(深圳)有限公司 | 管理移动设备的方法及服务器 |
CN106095530A (zh) * | 2016-06-08 | 2016-11-09 | 电子科技大学 | 一种多Android系统的容器自动创建及其启动方法 |
CN106095603A (zh) * | 2016-06-23 | 2016-11-09 | 厦门芯鸽信息科技有限公司 | 一种Android系统相同的应用程序可同时开启多个的方法 |
US20180095973A1 (en) * | 2016-09-30 | 2018-04-05 | International Business Machines Corporation | Docker layer deduplication with layer referencing |
CN108052385A (zh) * | 2017-12-29 | 2018-05-18 | 亿企赢网络科技有限公司 | 一种容器管理方法、系统、设备及计算机存储介质 |
US20190294780A1 (en) * | 2018-03-26 | 2019-09-26 | International Business Machines Corporation | System and method for executing operating system level virtualization software objects |
CN113204307A (zh) * | 2021-05-06 | 2021-08-03 | 技德技术研究所(武汉)有限公司 | 一种在Linux上兼容运行Android系统的文件发送方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546536A (zh) * | 2022-03-21 | 2022-05-27 | 北京麟卓信息科技有限公司 | Linux平台上多安卓应用使用同一安卓应用的方法 |
CN114546536B (zh) * | 2022-03-21 | 2022-07-05 | 北京麟卓信息科技有限公司 | Linux平台上多安卓应用使用同一安卓应用的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255497B (zh) | 一种应用的部署方法及装置 | |
US11221838B2 (en) | Hot update method, operating system, terminal device, system, and computer-readable storage medium for a system process | |
US9519472B2 (en) | Automation of virtual machine installation by splitting an installation into a minimal installation and customization | |
CN103297504B (zh) | 一种云数据中心中物理裸机快速部署操作系统的方法 | |
CN108491216B (zh) | 一种Android系统无感知应用安装升级的方法 | |
CN108733553B (zh) | 基于docker的测试装置的配置方法、装置和系统 | |
CN108121594B (zh) | 一种进程管理方法及装置 | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
WO2021158359A1 (en) | Firmware update patch | |
CN110752947A (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN105404524A (zh) | Java应用中的类加载隔离方法及装置 | |
US20130297795A1 (en) | Owner command execution in a multi-tenant cloud hosting environment | |
CN109614167B (zh) | 一种管理插件的方法和系统 | |
US9189300B2 (en) | Dynamic service discovery | |
CN112860282A (zh) | 集群插件的升级方法、装置和服务器 | |
CN108563472B (zh) | 基于多开应用的服务插件加载方法及装置 | |
CN110659104B (zh) | 一种业务监控方法及相关设备 | |
CN109408256B (zh) | 应用调用方法和装置 | |
CN113760306A (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
CN114047933A (zh) | 多开Android应用的方法、装置、设备和介质 | |
CN112199151B (zh) | 一种应用程序的运行方法及装置 | |
CN113821220A (zh) | 一种linux操作系统的安装方法和装置 | |
CN105809027B (zh) | 应用程序的权限控制方法及装置 | |
CN107885461B (zh) | 一种数据本地存储方法和装置 | |
CN115220861A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220407 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100082 Applicant before: Beijing jingling Information System Technology Co.,Ltd. |