CN114625443A - 一种安卓系统虚拟环境运行方法、装置、设备及存储介质 - Google Patents

一种安卓系统虚拟环境运行方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114625443A
CN114625443A CN202210293853.3A CN202210293853A CN114625443A CN 114625443 A CN114625443 A CN 114625443A CN 202210293853 A CN202210293853 A CN 202210293853A CN 114625443 A CN114625443 A CN 114625443A
Authority
CN
China
Prior art keywords
component
android system
application program
assembly
android
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
Application number
CN202210293853.3A
Other languages
English (en)
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.)
Zhuhai Leiku Interactive Technology Co ltd
Original Assignee
Zhuhai Leiku Interactive 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 Zhuhai Leiku Interactive Technology Co ltd filed Critical Zhuhai Leiku Interactive Technology Co ltd
Priority to CN202210293853.3A priority Critical patent/CN114625443A/zh
Publication of CN114625443A publication Critical patent/CN114625443A/zh
Pending legal-status Critical Current

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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/4555Para-virtualisation, i.e. guest operating system has to be modified
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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

Abstract

本发明涉及安卓虚拟化技术领域,具体涉及一种安卓系统虚拟环境运行方法、装置、设备及存储介质。包括调用ParsePackage接口获取应用程序包的唯一标识信息;根据唯一标识信息查询获取应用程序包的源启动组件;根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件;启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果;将空闲坑位组件替换为源启动组件,并将运行记录信息录入安卓系统的Application组件;将运行结果反馈至安卓系统。本发明可以在安卓系统的虚拟环境中高效运行应用程序,并与安卓系统的运行环境进行有效隔离,实现虚拟环境和安卓系统环境的稳定共存。

Description

一种安卓系统虚拟环境运行方法、装置、设备及存储介质
技术领域
本发明涉及安卓虚拟化技术领域,具体涉及一种安卓系统虚拟环境运行方法、装置、设备及存储介质。
背景技术
随着智能移动设备的普及,移动设备逐渐取代传统桌面设备成为生产力工具的势头已经开始显现。但是传统桌面设备上的工具,很多都还不能兼容到移动设备,或者是现有移动设备的实现方式太过老旧,不适应移动端设备便捷高效的属性,例如常见的虚拟化技术。虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,它可以在按需构建操作系统实例的过程当中为系统管理员提供极大的灵活性。但是目前的虚拟机管理器(Hypervisor)虚拟化技术仍然存在一些性能和资源使用效率方面的问题需要改进。
比如安卓虚拟化技术,现有安卓设备上的虚拟化技术运行方案,存在着以下各方面的缺陷:1、实现逻辑复杂,占用系统空间巨大;2、兼容系统版本低,无法使用最新系统;3、使用复杂,不易操作,用户在使用的时候,需要经过复杂的配置和调试,才能正常使用;4、生态封闭,无法二次开发,现有的安卓虚拟化技术都是面向于C端用户的,也就是用户只能使用,而不能对这个虚拟化的系统进行自定义的二次开发,极大的限制了这项技术的发展。
发明内容
针对现有技术存在的不足,本发明提供了一种安卓系统虚拟环境运行方法、装置、设备及存储介质。
第一方面,本发明提供一种安卓系统虚拟环境运行方法,包括:
获取应用程序包,并调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,所述基本信息包括应用程序包的唯一标识信息;
根据唯一标识信息查询获取应用程序包的源启动组件,并记录该源启动组件;
根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件;
启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果;
将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件;
将应用程序包的运行结果反馈至安卓系统的服务接口。
基于上述发明内容,通过虚拟技术调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,然后查询获得应用程序包的源启动组件,再根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件,启动空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果,在将运行结果反馈给安卓系统之前,先将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件,最后再将应用程序包的运行结果反馈至安卓系统进行显示,就可以在安卓系统的虚拟环境中对任意的应用程序包进行免安装运行,并与安卓系统的运行环境进行有效隔离,虚拟环境和安卓系统环境共存,使运行在两者中的应用程序互相不影响,提高了对安卓系统的兼容性,并且优化安卓系统虚拟环境的运行逻辑,减少占用系统的空间,运行使用更安全、简便,便于进行二次开发。
在一个可能的设计中,所述方法还包括启动安卓系统的core服务进程,对安卓系统的对服务接口进行初始化。
在一个可能的设计中,所述应用程序包的唯一标识信息为应用程序包的包名,在根据唯一标识信息查询获取应用程序包的源启动组件之前,所述方法还包括:获取用户的选中操作指令。
在一个可能的设计中,所述源启动组件包括源Activity组件信息或源Service组件信息或源ContentProvider组件信息或源BroadcastReceiver组件信息,在根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件之前,所述方法还包括:
在安卓系统的AndroidManifest.xml描述文件中预先描述出设定Activity组件、设定Service组件、设定ContentProvider组件和设定BroadcastReceiver组件各若干个作为空闲坑位组件。
在一个可能的设计中,所述根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件,包括:
在所述源启动组件包括源Activity组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定Activity组件;
在所述源启动组件包括源Service组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定Service组件;
在所述源启动组件包括源ContentProvider组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定ContentProvider组件;
在所述源启动组件包括源BroadcastReceiver组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定BroadcastReceiver组件。
在一个可能的设计中,所述将应用程序包的运行记录信息录入安卓系统的Application组件,包括:
创建安卓系统的新Application组件,将应用程序包的运行记录信息写入新Application组件中,然后用写好的新Application组件替换安卓系统原有的Application组件;
或者,将应用程序包的运行记录信息填写到安卓系统原有的Application组件中。
第二方面,本发明提供一种安卓系统虚拟环境运行装置,所述装置包括:
获取单元,用于获取应用程序包,并调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,所述基本信息包括应用程序包的唯一标识信息;
查询单元,用于根据唯一标识信息查询获取应用程序包的源启动组件,并记录该源启动组件;
检索单元,用于根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件;
运行单元,用于启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果;
替换单元,用于将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件;
反馈单元,用于将应用程序包的运行结果反馈至安卓系统的服务接口。
第三方面,本发明提供一种终端设备,所述设备包括:
存储器,用于存储指令;
处理器,用于读取所述存储器中存储的指令,并根据指令执行上述第一方面中任意一种所述的方法。
第四方面,本发明提供一种终端可读存储介质,所述终端可读存储介质上存储有指令,当所述指令在终端上运行时,使得所述终端执行上述第一方面中任意一种所述的方法。
第五方面,本发明提供一种包含指令的终端程序产品,当所述指令在终端上运行时,使所述终端执行上述第一方面中任意一种所述的方法。
本发明的有益效果为:
本发明可以在安卓系统的虚拟环境中对任意的应用程序包进行免安装运行,并与安卓系统的运行环境进行有效隔离,虚拟环境和安卓系统环境共存,使运行在两者中的应用程序互相不影响,提高了对安卓系统的兼容性,并且优化安卓系统虚拟环境的运行逻辑,减少占用系统的空间,运行使用更安全、简便,便于进行二次开发。所有虚拟化系统中的应用,均在沙箱环境中进行,保证了应用程序的私密性与安全性,可以有效防止信息泄漏的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的方法步骤示意图;
图2为本发明的装置结构示意图;
图3为本发明的设备构成示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,术语第一、第二等仅用于区分描述,而不能理解为指示或暗示相对重要性。尽管本文可以使用术语第一、第二等等来描述各种单元,这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实施例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。
实施例1:
本实施例提供一种安卓系统虚拟环境运行方法,适用于安卓系统的虚拟环境(虚拟机),考虑到虚拟机需要模拟安卓系统,其要为应用程序提供和安卓系统相同的运行环境,也就是需要实现安卓系统的服务,可以C/S(客户端/服务器)的框架来实现。如图1所示,方法包括以下步骤:
S101.获取应用程序包,并调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,所述基本信息包括应用程序包的唯一标识信息。
具体实施时,在指定应用程序包运行之前,虚拟机先启动安卓系统的core的服务进程,此进程启动后的第一时间会对服务接口进行初始化,接口主要功能包括应用所需权限、启动应用的组件、查找指定的四大组件等。当应用程序包放入到虚拟机的时候,虚拟机会通过调用安卓系统提供的parsePackage接口(此接口可以对应用程序包做深度解析)来获取到应用程序包的所有基本信息,然后这里面的基本信息都会被虚拟环境给记录下来。
S102.根据唯一标识信息查询获取应用程序包的源启动组件,并记录该源启动组件。
具体实施时,应用程序包的唯一标识信息为应用程序包的包名,虚拟机可以在接收到用户的选中操作指令后,根据应用程序包的包名查询到应用程序的源启动组件,所述源启动组件包括源Activity组件信息或源Service组件信息或源ContentProvider组件信息或源BroadcastReceiver组件信息。安卓应用程序是一种运行在安卓系统上的终端应用程序,它是由一些有联系的特定组件组合而成的,而在这些组件当中最俱代表性的就是:Activity(活动视窗)、Service(服务)、ContentProvider(内容提供)和BroadcastReceiver(广播接收器),合称安卓应用程序四大组件。
S103.根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件。
具体实施时,在安卓系统的标准描述中可知,每一个独立的安卓应用都会有一个叫做AndroidManifest.xml的描述文件,这个文件描述了每一个组件以及组件的作用,同时每个需要运行的组件,都必须在此文件里描述出来。因此,在根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件之前,还需要在安卓系统的AndroidManifest.xml描述文件中预先描述出设定Activity组件、设定Service组件、设定ContentProvider组件和设定BroadcastReceiver组件各若干个作为空闲坑位组件。如采用预设坑位的方法在AndroidManifest.xml描述文件里预先对安卓四大组件填写好各100个组件描述,并将其进程名称按0到99进行命名。
虚拟机根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件的具体过程包括:
在所述源启动组件包括源Activity组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定Activity组件;
在所述源启动组件包括源Service组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定Service组件;
在所述源启动组件包括源ContentProvider组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定ContentProvider组件;
在所述源启动组件包括源BroadcastReceiver组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定BroadcastReceiver组件。
S104.启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果。
具体实施时,以Activity组件为例,通过对安卓系统Activity组件的启动流程的理解,当一个Activity组件的视图在展现给用户之前,应用程序会运行到一个消息处理器的回调方法里,虚拟机会使用反射替换的技术将其回调方法更换为虚拟机自定义的方法里。由于应用程序直接运行到了虚拟机自定义的方法,那么相应的参数就能进行替换了,其他组件的运行同Activity组件。虚拟机运行应用程序包时,可获得应用程序包的运行记录信息以及相应运行结果。
S105.将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件。
具体实施时,在将应用程序包的运行结果反馈给安卓系统之前,虚拟机将当前的空闲坑位组件替换为源启动组件,替换完成后,虚拟机再将应用程序包的运行记录信息录入安卓系统的Application组件,可实现的方式包括:创建安卓系统的新Application组件,将应用程序包的运行记录信息写入新Application组件中,然后用写好的新Application组件替换安卓系统原有的Application组件;或者,将应用程序包的运行记录信息填写到安卓系统原有的Application组件中。因为安卓系统的Application组件记录着的是坑位空闲坑位组件所创建的信息,故虚拟机同时也需要做它的一些替换工作。
S106.将应用程序包的运行结果反馈至安卓系统的服务接口。
具体实施时,虚拟机在完成了所有组件内容的替换工作之后,再将应用程序包的运行结果反馈给安卓系统,这样安卓系统在接收到运行结果之后就会按正常的流程继续运行下去,而不会发生系统错误。以Activity组件为例,安卓系统继续处理运行结果直到完整的Activity组件视图显示出来为止,其他组件同Activity组件。
整个方法流程的简单描述就是先记录应用程序源组件,然后启动一个空闲的坑位组件,待应用程序在虚拟环境中运行到呈现结果的前一步,把坑位组件信息替换为源组件信息,再把运行结果反馈给安卓系统。通过这样的过程可以在安卓系统的虚拟环境中对任意的应用程序包进行免安装运行,并与安卓系统的运行环境进行有效隔离,虚拟环境和安卓系统环境共存,使运行在两者中的应用程序互相不影响,提高了对安卓系统的兼容性,并且优化安卓系统虚拟环境的运行逻辑,减少占用系统的空间,运行使用更安全、简便,便于进行二次开发。
实施例2:
本实施例提供一种安卓系统虚拟环境运行装置,如图2所示,包括:
获取单元,用于获取应用程序包,并调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,所述基本信息包括应用程序包的唯一标识信息;
查询单元,用于根据唯一标识信息查询获取应用程序包的源启动组件,并记录该源启动组件;
检索单元,用于根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件;
运行单元,用于启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果;
替换单元,用于将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件;
反馈单元,用于将应用程序包的运行结果反馈至安卓系统的服务接口。
实施例3:
本实施例提供一种终端设备,如图3所示,包括:
存储器,用于存储指令;
处理器,用于读取所述存储器中存储的指令,并根据指令执行实施例1中所述的安卓系统虚拟环境运行方法。
存储器和处理器之间通过内部总线连接。所述存储器可以但不限于包括随机存取存储器(random access memory,RAM)、只读存储器(Read Only Memory image,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等。所述处理器可以是微处理器、精简指令集计算机(reduced instruction set computer,RSIC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器。也可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
实施例4:
本实施例提供一种终端可读存储介质,所述终端可读存储介质上存储有指令,当所述指令在终端上运行时,使得所述终端执行实施例1中所述的安卓系统虚拟环境运行方法。其中,所述终端可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等。
本实施例还提供一种包含指令的终端程序产品,当所述指令在终端上运行时,使所述终端执行实施例1中所述的安卓系统虚拟环境运行方法。该终端程序产品可以位于随机存取存储器(random access memory,RAM)、只读存储器(Read Only Memory image,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等本领域成熟的存储介质中。终端读取终端程序产品,结合其硬件完成实施例1中所述的安卓系统虚拟环境运行方法。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种安卓系统虚拟环境运行方法,其特征在于,包括:
获取应用程序包,并调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,所述基本信息包括应用程序包的唯一标识信息;
根据唯一标识信息查询获取应用程序包的源启动组件,并记录该源启动组件;
根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件;
启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果;
将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件;
将应用程序包的运行结果反馈至安卓系统的服务接口。
2.根据权利要求1所述的一种安卓系统虚拟环境运行方法,其特征在于,所述方法还包括启动安卓系统的core服务进程,对安卓系统的对服务接口进行初始化。
3.根据权利要求1所述的一种安卓系统虚拟环境运行方法,其特征在于,所述应用程序包的唯一标识信息为应用程序包的包名,在根据唯一标识信息查询获取应用程序包的源启动组件之前,所述方法还包括:获取用户的选中操作指令。
4.根据权利要求1所述的一种安卓系统虚拟环境运行方法,其特征在于,所述源启动组件包括源Activity组件信息或源Service组件信息或源ContentProvider组件信息或源BroadcastReceiver组件信息,在根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件之前,所述方法还包括:
在安卓系统的AndroidManifest.xml描述文件中预先描述出设定Activity组件、设定Service组件、设定ContentProvider组件和设定BroadcastReceiver组件各若干个作为空闲坑位组件。
5.根据权利要求4所述的一种安卓系统虚拟环境运行方法,其特征在于,所述根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件,包括:
在所述源启动组件包括源Activity组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定Activity组件;
在所述源启动组件包括源Service组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定Service组件;
在所述源启动组件包括源ContentProvider组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定ContentProvider组件;
在所述源启动组件包括源BroadcastReceiver组件信息时,从AndroidManifest.xml描述文件里描述的若干空闲坑位组件中找出一个空闲的设定BroadcastReceiver组件。
6.根据权利要求1所述的一种安卓系统虚拟环境运行方法,其特征在于,所述将应用程序包的运行记录信息录入安卓系统的Application组件,包括:
创建安卓系统的新Application组件,将应用程序包的运行记录信息写入新Application组件中,然后用写好的新Application组件替换安卓系统原有的Application组件;
或者,将应用程序包的运行记录信息填写到安卓系统原有的Application组件中。
7.一种安卓系统虚拟环境运行装置,其特征在于,所述装置包括:
获取单元,用于获取应用程序包,并调用安卓系统的ParsePackage接口来获取应用程序包的基本信息,所述基本信息包括应用程序包的唯一标识信息;
查询单元,用于根据唯一标识信息查询获取应用程序包的源启动组件,并记录该源启动组件;
检索单元,用于根据源启动组件从安卓系统的AndroidManifest.xml描述文件里找到对应预设的空闲坑位组件;
运行单元,用于启动所述空闲坑位组件,通过预设的回调方法运行应用程序包,获得应用程序包的运行记录信息以及运行结果;
替换单元,用于将空闲坑位组件替换为源启动组件,并将应用程序包的运行记录信息录入安卓系统的Application组件;
反馈单元,用于将应用程序包的运行结果反馈至安卓系统的服务接口。
8.一种终端设备,其特征在于,所述设备包括:
存储器,用于存储指令;
处理器,用于读取所述存储器中存储的指令,并根据指令执行权利要求1-6任意一项所述的方法。
9.一种终端可读存储介质,其特征在于,所述终端可读存储介质上存储有指令,当所述指令在终端上运行时,使得所述终端执行权利要求1-6任意一项所述的方法。
CN202210293853.3A 2022-03-23 2022-03-23 一种安卓系统虚拟环境运行方法、装置、设备及存储介质 Pending CN114625443A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210293853.3A CN114625443A (zh) 2022-03-23 2022-03-23 一种安卓系统虚拟环境运行方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210293853.3A CN114625443A (zh) 2022-03-23 2022-03-23 一种安卓系统虚拟环境运行方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114625443A true CN114625443A (zh) 2022-06-14

Family

ID=81903268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210293853.3A Pending CN114625443A (zh) 2022-03-23 2022-03-23 一种安卓系统虚拟环境运行方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114625443A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825908A (zh) * 2014-03-18 2014-05-28 青岛大学 一种支持QoS的服务注册系统
US20140282465A1 (en) * 2013-03-12 2014-09-18 Bluebox Security Inc. Methods for Dynamic Mobile Application Behavior Modification Subject to a Behavior Policy
CN104375861A (zh) * 2014-11-04 2015-02-25 北京奇虎科技有限公司 基于安卓平台的应用程序免安装运行的方法、装置及终端
CN105094922A (zh) * 2015-08-17 2015-11-25 北京奇虎科技有限公司 应用程序免安装运行控制方法及其装置
US20160274918A1 (en) * 2015-03-20 2016-09-22 Electronics And Telecommunications Research Institute User device and integrity verification method of the same
CN106559484A (zh) * 2016-11-14 2017-04-05 北京海誉动想科技股份有限公司 实例系统免安装运行应用的方法
US20170192810A1 (en) * 2016-01-05 2017-07-06 Bitdefender IPR Management Ltd. Systems and Methods for Auditing a Virtual Machine
CN108229146A (zh) * 2016-12-21 2018-06-29 武汉安天信息技术有限责任公司 一种基于安卓虚拟容器的安全装置、方法及安全装置的构建方法
CN111538985A (zh) * 2020-01-22 2020-08-14 中国银联股份有限公司 Android应用运行环境检测方法及其装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282465A1 (en) * 2013-03-12 2014-09-18 Bluebox Security Inc. Methods for Dynamic Mobile Application Behavior Modification Subject to a Behavior Policy
CN103825908A (zh) * 2014-03-18 2014-05-28 青岛大学 一种支持QoS的服务注册系统
CN104375861A (zh) * 2014-11-04 2015-02-25 北京奇虎科技有限公司 基于安卓平台的应用程序免安装运行的方法、装置及终端
US20160274918A1 (en) * 2015-03-20 2016-09-22 Electronics And Telecommunications Research Institute User device and integrity verification method of the same
CN105094922A (zh) * 2015-08-17 2015-11-25 北京奇虎科技有限公司 应用程序免安装运行控制方法及其装置
US20170192810A1 (en) * 2016-01-05 2017-07-06 Bitdefender IPR Management Ltd. Systems and Methods for Auditing a Virtual Machine
CN106559484A (zh) * 2016-11-14 2017-04-05 北京海誉动想科技股份有限公司 实例系统免安装运行应用的方法
CN108229146A (zh) * 2016-12-21 2018-06-29 武汉安天信息技术有限责任公司 一种基于安卓虚拟容器的安全装置、方法及安全装置的构建方法
CN111538985A (zh) * 2020-01-22 2020-08-14 中国银联股份有限公司 Android应用运行环境检测方法及其装置

Similar Documents

Publication Publication Date Title
US9811369B2 (en) Method and system for physical computer system virtualization
US8904386B2 (en) Running a plurality of instances of an application
US20150006487A1 (en) Method and apparatus for checkpointing and restarting container status
US20200334066A1 (en) Nvm-based method for performance acceleration of containers
US8839215B2 (en) String cache file for optimizing memory usage in a java virtual machine
US20150186161A1 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
CN110716845B (zh) 一种Android系统的日志信息读取的方法
CN114327777B (zh) 确定全局页目录的方法、装置、电子设备及存储介质
US11645068B2 (en) Method for implementing function jump, apparatus, and computer storage medium
CN111124286A (zh) 一种基于Libcloud的多云管理实现方法
CN111414231A (zh) 一种虚拟机镜像与容器镜像相互转换的方法及设备
WO2023174128A1 (zh) 增强型包过滤器的内核态程序的超级调用方法及装置
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
US20140222410A1 (en) Hybrid emulation and kernel function processing systems and methods
CN110837446A (zh) 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备
CN114625443A (zh) 一种安卓系统虚拟环境运行方法、装置、设备及存储介质
CN116594734A (zh) 容器迁移方法、装置、存储介质及电子设备
CN115268950A (zh) 一种镜像文件导入方法及装置
CN111651177B (zh) 基于安卓平台的写号方法、设备及计算机可读介质
CN114791884A (zh) 测试环境的构建方法、装置、存储介质及电子设备
US8819494B2 (en) Automatically changing parts in response to tests
US11526358B2 (en) Deterministic execution replay for multicore systems
CN114237814A (zh) 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备
CN114840330A (zh) 一种内存回收方法、装置及控制设备
CN112650713A (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