CN105809028B - 在移动设备中运行相同应用的多个实例的装置和方法 - Google Patents

在移动设备中运行相同应用的多个实例的装置和方法 Download PDF

Info

Publication number
CN105809028B
CN105809028B CN201610037582.XA CN201610037582A CN105809028B CN 105809028 B CN105809028 B CN 105809028B CN 201610037582 A CN201610037582 A CN 201610037582A CN 105809028 B CN105809028 B CN 105809028B
Authority
CN
China
Prior art keywords
application
modified
electronic device
applications
sandbox
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.)
Expired - Fee Related
Application number
CN201610037582.XA
Other languages
English (en)
Other versions
CN105809028A (zh
Inventor
M.桑卡拉纳拉西曼
W.斯沃尼
V.哈文
石原户瑠
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from US14/601,821 external-priority patent/US9575740B2/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105809028A publication Critical patent/CN105809028A/zh
Application granted granted Critical
Publication of CN105809028B publication Critical patent/CN105809028B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

提供了用于隔离多个包括在电子设备中的应用的至少一个的装置和方法。所述方法包括选择包括在电子设备中的多个应用中的至少一个,预处理所述至少一个选择的应用,以便成为包含在隔离至少一个所选择的应用和多个应用中的其他应用的沙箱中的至少一个修改的应用,并在电子设备上安装所述至少一个修改的应用,以便只根据沙箱执行。

Description

在移动设备中运行相同应用的多个实例的装置和方法
技术领域
本公开涉及一种用于在移动设备中运行相同应用的多个实例的装置和方法。更具体地,本公开涉及一种用于在移动设备中运行相同应用的多个实例而无需共享数据的装置和方法。
背景技术
开发了移动终端以提供用户之间的无线通信。随着技术的进步,移动终端现在提供超越了简单的电话交谈之外的许多额外的功能。例如,移动终端现在能够提供额外的功能,例如报警器、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、游戏、短距离通信的遥控器、使用安装的数码相机的图像捕捉功能、用于提供音频和视频内容的多媒体功能、调度功能、以及其它类似的功能。
另外,移动终端可以执行应用,其可以提供上面提到的功能和/或提供其他功能和/或该移动终端上的操作。例如,该应用可包括音乐播放应用、视频播放应用、照相馆应用、游戏应用、社交网络应用、互联网浏览应用、文件管理应用、云服务应用、以及任何其它类似的和/或适当的应用、功能和/或操作。然而,移动终端的操作***(OS),例如Android操作***和/或任何其它类似的和/或合适的操作***,可能不允许在移动终端上安装和/或执行相同应用的多个实例。例如,如果移动终端的用户尝试下载和/或安装应用的第二拷贝,则除非应用的第一拷贝被删除、和/或覆盖,否则移动终端的操作***可能防止该应用的第二拷贝的下载和/或安装。然而,移动终端的用户可能希望安装和/或执行移动终端上的应用的多个实例。因此,存在需要一种用于在移动终端中提供改进的用户界面,同时降低功耗的装置和方法。
发明内容
本公开内容的各方面是至少解决上述问题和/或缺点,并提供至少以下描述的优点。因此,本公开的一个方面是提供用于在移动设备中运行相同应用的多个实例的装置和方法。更具体地,本公开涉及一种用于在移动设备中运行相同应用的多个实例而无需共享数据的装置和方法。
根据本公开的一个方面,提供了用于隔离包括在电子设备中的多个应用中的至少一个的方法。该方法包括选择包括在电子设备中的多个应用中的至少一个,预处理该至少一个选择的应用,以便成为包含在沙箱中的至少一个修改的应用,所述沙箱隔离所述至少一个所选择的应用和多个应用中的其他应用,并在电子设备上安装该至少一个修改的应用,以便只根据沙箱执行。
根据本公开的另一个方面,提供了用于隔离包含在电子设备中的多个应用中的至少一个的装置。该装置包括:显示器,被配置为显示包括在电子设备中的多个应用和用于接收选择多个应用中的至少一个的用户输入;处理器,被配置为预处理至少一个所选择的应用,以便成为包含在沙箱中的至少一个修改的应用,所述沙箱隔离所述至少一个所选择的应用和多个应用中的其他应用,并在电子设备上安装所述至少一个修改的应用以便仅根据沙箱执行;以及存储器130,被配置为存储所述至少一个修改的应用。
对于本领域技术人员,从下面结合附图公开了本公开的各种实施例的详细描述中,本公开的其他方面、优点以及显著特征将变得显而易见。
附图说明
从结合附图的以下描述中,本公开的各种实施例的上述和其它方面、特征和优点将更清楚:
图1示出了根据本公开实施例的包括电子设备的网络环境;
图2示出了根据本发明的示例性实施例的应用文件的结构;
图3示出了根据本公开各种实施例的隔离应用的静态方法;
图4示出了根据本公开实施例的隔离应用的动态方法;
图5示出了根据本公开实施例的隔离应用的组合方法;
图6A、图6B和图6C示出了根据本申请的示例性实施例的隔离应用的多个实例的屏幕截图;以及
图7示出了根据本公开的各种实施例的硬件的框图。
应当注意的是,贯穿附图,类似的参考数字用于描述相同或相似的元件、特征和结构。
具体实施方式
将参考附图在下面讨论本公开的各个方面的详细描述。仅作为示例阐述该描述,而不应限制本公开的范围。
提供以下参照附图的说明以协助由权利要求及其等价物所限定的本公开的各种实施例的全面理解。它包括各种特定细节以帮助理解,但是这些将被认为仅仅是示范性的。因此,本领域普通技术人员将认识到,可以对在此描述的各种实施例做出各种变化和修改而不脱离本公开的范围和精神。另外,也可以出于清楚和简明的目的,省略公知的功能和结构的描述。
在以下描述和权利要求中使用的术语和词语不限于字面含义,而是仅仅被发明者使用以使得对本公开的清楚和一致的理解。因此,本领域技术人员应当清楚,提供本公开的各种实施例的以下描述仅出于说明目的,而不是为了限制由所附权利要求和它们的等同物所限定的本公开的目的。
应当理解,单数形式“一”、“一个”和“该”包括复数对象,除非上下文另有明确说明。因此,例如,提及“组件表面”包括指代一个或更多这样的表面。
通过术语“基本上”,意味着所述的特征、参数或值不需要精确地实现,而是包括诸如公差、测量误差、测量精度限制和本领域技术人员已知的其他因素的偏差或变化,可能在不妨碍特征意图提供的效果的量级发生。
除非有不同的定义,在本公开内容所使用的所有术语,包括技术或科学术语,具有由本领域的普通技术人员所通常理解的含义。可以在字典中定义的普通术语应理解为具有与它们的上下文一致的含义,并且除非在本公开中明确定义,不应被过度理想化或形式化解释。
根据本公开的实施例,电子设备可以包括通信功能。例如,电子设备可以是智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书阅读器、台式个人计算机、膝上型计算机、上网本计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗设备、相机、可穿戴设备(例如,头戴式设备(HMD)、电子衣服、电子牙套、电子项链、电子配件、电子纹身、或智能手表)、和/或类似物。
根据本公开的实施例,电子设备可以是具有通信功能的智能家电。智能家电可以是,例如,电视、数字视频盘(DVD)播放器、音频、冰箱、空调、真空吸尘器、烤箱、微波炉、洗衣机、烘干机、空气净化器、机顶盒、电视盒(例如、三星HomeSyncTM、苹果TVTM、或谷歌TVTM)、游戏控制台、电子词典、电子钥匙、摄像机、电子相框、和/或类似物。
根据本公开的实施例,电子设备可以是医疗设备(例如、磁共振血管成像(MRA)的设备、磁共振成像(MRI)设备、计算机断层扫描(CT)设备、成像设备、或超声波设备)、导航设备、全球定位***(GPS)接收器、事件数据记录仪(EDR)、飞行数据记录器(FDR)、汽车信息娱乐设备、海军电子设备(例如、海军导航仪、陀螺仪或指南针)、航空电子电子设备、安全设备、工业用或消费机器人、和/或类似物。
根据本公开的各种实施例,电子装置可以是家具、建筑物/结构的一部分、电子板、电子签名接收装置、投影仪、各种测量类设备(例如、水、电、煤气或电-磁波测量设备置)、和/或包括通信功能的类似物。
根据本公开的各种实施例,电子设备可以是前述设备的任意组合。此外,对于具有本领域的普通技术的人员将是显而易见的是,根据本公开的各种实施例的电子装置并不限于上述装置。
本公开内容的实施例包括用于在移动设备中运行相同应用的多个实例而无需共享数据的装置和方法。
本公开的实施例提供对Android应用的隔离,并能够多次安装相同的Android应用。例如,可以克隆包括和/或安装在移动终端上的应用,以便具有与原始应用相同的逻辑和/或表示层。可以修改克隆的应用,以在具有与原始应用相同的逻辑和/或表示层的同时,区分原始应用和克隆应用。
可以执行应用的克隆和应用的区分以执行和/或维持根据用户帐户来提供服务的应用的单独的用户帐户,诸如Facebook应用、社交网络应用、流媒体服务、电子邮件应用、虚拟专用网(VPN)应用、云应用服务、以及任何其他类似的和/或适合的应用。应用的克隆和区分也可以使得在沙箱中安装应用,其允许在沙箱中包括至少一个应用,从而在包括在沙箱中的应用之间共享资源,并限制与不包括在沙箱中的应用的资源共享。
换言之,沙箱可以是一组运行的程序,即当前正在执行中的程序,它们与不包括在沙箱中的组中的其他程序隔离并且不共享资源。因此,可能是不可信的、未经证实的、和/或未经测试的程序和/或应用,可以与沙箱中的应用隔离,即,可以测试的、验证的应用和/或信任的应用,从而不必确保包括沙箱的***的完整性而提供沙箱中的应用的执行的安全环境。此外,克隆和区分应用使得应用的多个会话,或换言之,多个实例,可以在相同的时间执行,并且允许同时执行应用的多个会话的任何其他类似的和/或合适的服务和/或情况,而不需要在同时执行的应用的多个会话的各个会话之间共享数据。
图1示出了根据本公开实施例的包括电子设备的网络环境。
参考图1,网络环境100包括电子设备101。电子设备101可以包括总线110、处理器120、存储器130、输入/输出(I/O)接口140、显示器150、通信接口160、应用处理模块170和/或类似物。
总线110可以是连接上述组件并允许上述组件之间通信的电路。例如,总线110可以连接电子设备101的部件,以便使得能够在所连接的组件之间通信控制消息和/或其它信息。
处理器120可以,例如,接收来自其他组件(例如,存储器130、I/O接口140、显示器150、通信接口160、应用处理模块170、和/或类似物)的指令,解释所接收的指令,并根据所解释的指令执行运算或处理数据。
存储器130可以是,例如,存储从其他组件,如存储器130、I/O接口140、显示器150、通信接口160、应用处理模块170、和/或类似物,接收的和/或产生的指令和/或数据。例如,存储器130可以包括编程模块,如内核131、中间件132、应用编程接口(API)133、应用134、和/或类似物。前述每个编程模块可以包括软件、固件或硬件中的至少两个的组合。
内核131可以控制或管理***资源(例如,总线110、处理器120、存储器130、和/或类似物),其可以用于执行在其他编程模块,例如,中间件132、API 133、应用134、和/或类似物实现的操作或功能。内核131可提供接口用于使得能够或以其他方式促进中间件132、API133、应用134和/或类似物访问电子设备101的各个组件。
中间件132可以是通过其内核131可与API 133、应用134、和/或类似物通信,以发送和接收数据的介质。中间件132可以控制(例如,调度、负载平衡、和/或类似物)应用134的工作请求。例如,中间件132可以通过分配使用电子设备101的***资源(如总线110、处理器120、存储器130、和/或类似物)的优先级到应用134,来控制应用134的工作请求。
API 133可以是可以控制应用134可以在内核131、中间件132、和/或类似物上提供的的功能的接口。例如,API 133可以包括至少一个用于文件控制、窗口控制、视频处理、角色控制和/或类似物的接口或功能(例如,命令)。
根据本公开的各种实施例,应用134可包括短消息服务(SMS)应用、多媒体消息服务(MMS)应用、电子邮件应用、日历应用、警报应用、医疗保健应用、(例如,锻炼量应用、血糖值测量应用、和/或类似物)、环境信息应用(例如,可以提供气压、湿度、温度信息和/或类似物的应用)、即时消息收发应用、呼叫应用、因特网浏览应用、游戏应用、媒体回放应用、图像/视频捕获应用、文件管理应用、和/或类似物。除此之外或作为替代,应用134可以是与电子设备101和外部电子设备(例如,电子设备104)之间的信息交换相关联的应用。举例来说,与信息交换相关联的应用134可以包括可以为外部电子设备供以特定类型的信息的通知中继应用,可以管理外部电子设备的设备管理应用,和/或类似物。
举例来说,通知中继应用可以包括提供由其他应用(例如,SMS/MMS应用、电子邮件应用、医疗应用、环境信息应用、即时消息收发应用、呼叫应用、互联网浏览应用、游戏应用、媒体播放应用、图像/视频捕获应用、文件管理应用、和/或类似物)在电子设备101生成的通知到外部电子设备(例如,电子设备104)的功能。除此之外或作为替代,通知中继应用可以例如,从外部电子设备(例如,电子设备104)接收通知,并且可以提供通知给用户。
举例来说,设备管理应用可以管理使能或禁止与和电子设备101通信的外部电子装置的至少一部分(例如,外部电子设备本身、或外部电子装置的一个或多个组件)相关联的功能,控制外部电子设备的显示器的亮度(或分辨率),在外部电子设备操作的应用或由外部电子设备提供的服务(例如,语音呼叫服务、消息收发服务、和/或类似物),和/或类似物。
根据本公开内容的各种实施例,举例来说,应用134可以包括根据外部的电子设备(例如,电子设备104)的属性(例如,电子设备的类型、和/或类似物)确定的一个或多个应用。例如,如果外部电子装置是MP3播放器,则应用134可以包括与音乐回放相关的一个或更多的应用。作为另一个例子,如果外部电子设备是移动医疗设备,则应用134可以是医疗保健相关的应用。根据本公开的各种实施例,应用134可包括预加载在电子设备101的应用、从外部电子设备接收(例如,电子设备104、服务器106、和/或类似物)的应用,和/或类似物中的至少一个。
I/O接口140可以,例如,从用户接收指令和/或数据。I/O接口140可以经由总线110发送指令和/或数据到处理器120、存储器130、通信接口160、应用处理模块170、和/或类似物。例如,I/O接口140可提供与经由触摸屏接收到的用户输入相关联的数据到处理器120。I/O接口140可以,例如,经由I/O设备(例如,扬声器、显示器和/或类似物)输出经由总线110从存储器130、通信接口160、应用处理模块170和/或类似物接收到的指令和/或数据。例如,I/O接口140可以经由扬声器输出语音数据(例如,使用处理器120处理过的)。
显示器150可以显示各种类型的信息(例如,多媒体、文本数据和/或类似物)给用户。举例来说,显示器150可以显示使用其用户可以与电子设备101交互的图形用户界面(GUI)。
通信接口160可以提供电子设备101和一个或多个外部电子设备之间的通信(例如,电子设备104、服务器106和/或类似物)。例如,通信接口160可以使用无线或有线通信建立与网络162的连接,与外部电子设备通信。举例来说,通信接口160可以使用其进行通信的无线通信可以是Wi-Fi、蓝牙、近距离无线通信(NFC)、全球定位***(GPS)、蜂窝通信(例如,长期演进(LTE)高级LTE(LTE-A)、码分多址(CDMA)、宽带CDMA(WDCMA)、通用移动电信***(UMTS)、无线宽带(WiBro)、全球移动通信***(GSM)和/或类似物)、红外数据协会(IrDA)技术和/或类似物中的至少一个。举例来说,通信接口160使用其可以通信的有线通信可以是例如,通用串行总线(USB)、高清晰度多媒体接口(HDMI)、推荐标准232(RS-232)、普通老式电话业务(POTS)、以太网和/或类似物中的至少一个。
根据本公开的各种实施例,网络162可以是电信网络。举例来说,电信网络可以包括计算机网络、互联网、物联网、电话网和/或类似物中的至少一个。根据本公开的各种实施例,用于在电子设备101和外部电子设备之间进行通信的协议(例如,传送层协议、数据链路层协议、物理层协议和/或类似物),可以由例如,应用134、API 133、中间件132、内核131、通信接口160、和/或类似物中的至少一个支持。
应用处理模块170可以,例如,处理从其它部件(例如,处理器120、存储器130、I/O接口140、通信接口160和/或类似物)接收到的信息的至少一部分,并以各种方式提供各种信息、服务和/或类似物给用户。例如,应用处理模块170可以经由处理器120或独立地控制电子设备101的至少一部分功能以与另一电子设备(例如,电子设备104、服务器106和/或类似物)通信或与其连接。图2将提供有关应用处理模块170的附加信息。
图2示出了根据本公开的示例性实施例的应用文件的结构。
参考图2,应用文件可以是用于Android OS,并因此可以是Android应用包(APK)文件200。然而,本公开不限于此,并且应用文件可以用于任何合适的和/或类似的操作***,并且可以是任何类似的和/或合适的文件。例如,应用文件可能是用于苹果iOS、Windows操作***、Symbian操作***、诸如Ubuntu的基于Debian的操作***,并且可以分别是.app文件、.msi程序和/或.msp文件以及deb程序包文件。
APK文件200是程序包文件,包括用于包含应用的多个目录,其中包括将由诸如电子设备101的电子设备来执行的各个元数据、资源、文件、数据和信息。APK文件200可以由电子设备101的用户安装和/或可以由电子设备101的制造商和/或分销商安装。可以使用APK文件200分发和安装应用文件、库、和/或数据到或在电子设备101上。例如,电子设备101的用户可以使用射频(RF)通信来连接到通信网络和/或另一个执行RF通信的电子设备下载APK文件200。通信网络可以是任何合适的通信网络,诸如蜂窝网络、Wi-Fi网络、以太网、或任何其它类似的和/或合适的有线和/或无线通信网络。
APK文件200可以包括元信息(META-INF)目录201、库(LIB)目录202、资源(RES)目录203、资产目录204、清单目录205类目录206和诸如资源目录207的Android资源(ARSC)目录中的至少一个。META-INF目录201可以包括诸如MANIFEST.MF的清单文件208、诸如CERT.RSA应用证书209、诸如CERT.SF的包括密码散列函数摘要——例如,安全哈希算法1(SHA-1)摘要——的资源列表210中的至少一个。
lib目录202可包括包括了对应于处理器的编译的代码的至少一个目录。例如,lib目录202可以包括用于ARM处理器的armeabi目录(未示出)、用于ARMv7处理器的armeabi-V7A目录(未示出),用于x86处理器的x86的目录(未示出),以及用于微处理器无内部互锁流水级(Microprocessor without Interlocked Pipeline Stages,MIPS)处理器的MIPS目录(未示出)中的至少一个。资源目录203可包括资源目录207中未包括的资源。资产目录204可以包括可以由资产管理器使用的应用资产。清单目录205可以包括附加的清单文件,即除了包含在META-INF目录201中的清单文件208,提供对应于应用的更多信息。类目录206,其也可被称为classes.dex目录,可以包括由Dalvik虚拟机(VM)编译使用的类,Dalvik虚拟机是可以由Android OS使用的进程VM和/或应用VM。资源目录207可包括预编译的资源。
图3示出了根据本公开实施例的隔离应用的静态方法。
参考图3,隔离应用的静态方法包括在安装应用之前预处理应用,以在移动终端上安装已修改的版本。更多细节,隔离应用的静态方法可以包括应用的分析、应用的准备、以及使用准备好的应用覆盖先前的应用实例。
在图3所示的静态方法中,在应用安装之前执行改变和/或替换应用的任何原始图像和/或图标,以使得可以根据需要执行反汇编应用。此外,在安装应用之前,可以执行从应用读取并解析所有条目收集关于图像/图标的所需的信息、覆盖和/或替换所需的原始图像和/或图标、并汇编和/或打包所有项返回给应用。
如图3所示,在操作301可以选择多个应用如谷歌邮件应用、电子邮件应用、网站应用、音乐播放器的应用、或者任何其他类似和/或适当的应用中的至少一个进行隔离。多个应用中的每一个可以具有如图2所示的文件结构。然而,本公开不限于此,并且多个应用中的每一个可以具有根据图3的实施例可以隔离的任何相似和/或合适的文件结构。
在操作302,预处理,或换言之,处理从多个应用之中的至少一个所选择的应用,以成为至少一个修改的应用。更具体来说,至少一个所选择的应用的APK可以通过提取和修改APK的APK清单进行隔离。修改APK可以包括改变和/或修改包括在APK清单中的各种描述符。例如,可以修改其可包括显式引用的对进程名称的引用,以便跨所有应用唯一,或者换言之,对包含在APK清单中的进程的引用可被修改为对每个应用唯一。此外,可以通过添加诸如特殊应用权限之类的应用权限,以及通过修改在安装和/或下载对应于APK清单的所选择的应用时定义的Android组件,修改APK清单。因此,如上所述已被修改的对应于对APK清单的所选择的应用,可以和所选应用的原始版本同时安装。
修改APK,或者换言之,隔离APK,还可以包括容器化(containerize)对应于至少一个所选择的应用的Dalvik可执行(DEX)文件,DEX文件是被翻译成Dalvik字节码的至少一个程序和/或应用,其也可以被称为Dalvik机器字节码。可以分析和修改Dalvik字节码以提供数据隔离和运行时隔离,或换言之,以隔离对应于Dalvik字节码的数据以及隔离所选择的应用的执行。
可以提供Dalvik字节码的数据隔离和运行时隔离以在某些情况下拦截对应于Dalvik字节码的所选择的应用的流。换言之,在状态、场景、和/或至少一个条件下中的至少一个发生时,可以通过在状态、场景、和/或至少一个条件下,隔离程序和/或应用的流提供数据隔离和运行时隔离拦截,以及改变程序流,也即,程序的逻辑和/或指令流。
可以使用和/或根据配置为提供数据隔离和运行时隔离的代理方法通过替换和/或修改包含在Dalvik字节码中的方法和/或过程来隔离程序的流。此外,配置为提供数据隔离和运行时隔离的对象可以***到与所选择的应用相关联的Dalvik字节码和/或原始代码的类层级中。通过使用代理方法和/或对象,可以修改所选择的应用的行为,使得可以控制通过应用和/或应用之间的消息的传递,例如,传输和/或接收,这些消息也可以被称为意图(intent),以提供数据隔离和运行时隔离。
例如,可以修改用于启动相机应用,如包括在包括了相机的电子设备中的相机应用的意图,以启动提供了数据隔离和运行时隔离的安全的相机应用。为了容器化DEX文件所做的修改可能匹配对APK清单所做的修改以隔离APK。因此,类似地修改的应用集可以作为组协作,并且可以根据包括类似地修改的应用集的沙箱隔离。另外,修改后的APK清单和修改后的DEX文件被重新打包成新的APK,而新的APK可以使用合适的证书进行签名,以确保准备好被容器化和/或包括在沙箱中的APK的完整性。
接下来,在操作303,在诸如电子设备101的电子设备上安装至少一个所修改的应用。因此,电子设备101的用户可以执行和/或运行至少一个修改的应用的每一个的并发实例,使得至少一个修改的应用的每一个实例不与至少一个修改的应用的另一个实例共享资源。
图4示出了根据本公开实施例的隔离应用的动态方法。
参考图4,隔离应用的动态方法包括在移动终端上应用安装期间修改应用。在操作401,从存储在诸如电子设备101的电子设备上的多个应用中选择原始应用410。接着,在操作402,根据为生成修改的应用412所执行的隔离过程选择原始应用410。为了生成修改的应用412,电子设备101可以如上所述参考图3修改包括在选择的原始应用410中的APK中的APK清单。在已经生成修改的应用412之后,在操作403,在电子设备101存储修改的应用412。
因此,图4的动态方法包括在应用安装之前分析该应用,并且在运行期间“在线地(on the fly)”覆盖图像,或者换言之,在应用的运行时期间或者作为包括在其中的进程。为了使用动态方法改变和/或替换任何原始的图像和/或图标,所有需要的图像在运行期间修改。因此,该动态方法可包括:通过从应用读取和解析所有条目,收集有关图像和/或图标的所需的信息、不作任何改变安装原始应用、以及在设备上修改负责处理应用安装过程和图像加载的所有活动的标准软件和/或模块。
另外,图4的动态方法可以包括在应用的装载和/或呈现期间识别何时应该替换和/或覆盖图像和/或图标、在设备上和/或远程地“在空中(on the fly)”更换和/或覆盖特定的图像、并呈现新创建的图像而非原始图像。
图5示出了根据本公开实施例的隔离应用的组合方法。
参考图5,在操作501,从存储在诸如电子设备101的电子设备上的多个安装的应用中间拉出原始应用510,以便修改原始应用510以在沙箱中包括修改的应用。换言之,可以从多个已安装的应用中选择至少一个应用,即原始应用510,包含在沙盒中。例如,原始应用510可以由电子设备的用户选择和/或可以自动地选择要包含在沙箱中的应用。
在操作502,修改原始应用510以包含在沙箱中。原始应用510可以以类似于诸如在图3的操作302描述的操作预处理至少一个选择的应用的操作的方式修改,并且因此,为了简洁起见,在此将省略这样的操作的描述。接下来,在操作503,可以根据在操作502执行的预处理安装修改的应用,以便利用根据沙箱提供的数据隔离和运行时隔离来执行修改的应用。
另外,在操作502中和/或之后,隔离应用的组合方法可包括在安装应用之前分析应用、在应用安装之后生成新的图像和/或图标、并本地地在设备上,或远程地在外部存储器上保存应用、并且通过替换原始应用稍后使用应用。
更具体地说,使用图5的组合方法改变和/或更换应用的任何原始图像和/或图标包括通过从应用读取和分析所有条目收集图像和/或图标有关的需要的信息、不做任何改变地安装原来的应用、修改在设备上的负责与应用的安装过程和图像加载的所有活动相关的标准软件和/或模块。组合方法还包括在安装该应用、该应用的首次运行中的至少一个确定应该替代哪个图像和/或图标并本地地和/或远程地创建新的图像,并作为单独的过程执行应用的覆盖,在本地和/或远程地保存新创建的图像,并且呈现新的图像而不是原始图像和/或图标。
图6A、图6B和图6C示出了根据本申请的示例性实施例隔离应用的多个实例的屏幕截图。
参考图6A,示出了包括多个可在电子设备上执行的应用和/或小部件(widget)的主屏幕。多个应用和/或小部件中的至少一个可以包括在沙箱中。可以预配置沙箱为包括与至少一个多个应用和/或者部件,并且/或者电子设备的用户可以选择多个应用和/或小部件中的至少一个包括在沙箱中。
参考图6B,包含在沙箱中的应用和/或小部件中的至少一个可以显示在电子设备的屏幕上。可以显示在包括多个包含在沙箱中的应用和/或小部件的屏幕上显示沙箱指示符601,以指示只有该多个包括在沙箱中的应用和/或部件显示在电子设备的屏幕上。
参考图6C,可以执行包括在沙箱中的至少一个应用和/或小部件之中的应用602,以便在执行应用602的过程中提供数据隔离和应用隔离。
图7示出了根据本公开的各种实施例的硬件的框图。
参考图7,硬件701可以是,例如,电子设备101的部分或全部。硬件701可以包括一个或多个应用处理器(AP)710、通信模块720、用户识别模块(SIM)卡724、存储器730、传感器模块740、输入模块750、显示模块760、接口770、音频模块780、相机模块791、电源管理模块795、电池796、指示器797、电机798和/或类似物。
AP 710可以控制连接到AP 710的一个或多个硬件或软件组件、执行数据(包括多媒体数据)的处理或计算、和/或类似物。举例来说,AP 710可以实现为片上***(SoC)。AP710可包括图形处理单元(GPU)(未示出)。
通信模块720(例如,通信接口160)可发射和接收电子设备101和其他电子设备(例如,电子设备104、服务器106、和/或类似物)之间的通信的数据。举例来说,通信模块720可以包括一个或多个蜂窝模块721、无线网络模块723、蓝牙模块725、GPS模块727、NFC模块728、射频(RF)模块729、和/或类似物。
蜂窝模块721可以经由通信网络(例如,LTE、LTE-A、CDMA、WCDMA、UMTS、WiBro、GSM和/或类似物)提供诸如,例如,语音呼叫、视频呼叫、短消息服务(SMS)、因特网服务、和/或类似物的服务。举例来说,蜂窝模块721可以使用用户识别模块(SIM)卡(例如,SIM卡724)区分并授权通信网络内的电子设备。根据本公开的各种实施例,蜂窝模块721可以执行AP 710的功能的至少一部分。例如,蜂窝模块721可以执行多媒体控制功能的至少一部分。
根据本公开的各种实施例,通信接口720和/或蜂窝模块721可包括通讯处理器(CP)。举例来说,蜂窝模块721可以实现为SoC。
虽然图7作为独立于AP 710的组件示出了诸如蜂窝式模块721(例如,CP)、存储器730、功率管理模块795的组件,但是根据本公开的各种实施例,AP 710可以包括一个或多个上述组件(例如,蜂窝模块721),或者与其集成。
根据本公开的各种实施例,AP 710、蜂窝模块721(例如,CP)、和/或类似物,可以通过加载到易失性存储器处理从非易失性存储器或其它部件中的至少一个接收到的指令或数据。AP 710、蜂窝模块721、通信接口720,和/或类似物,可以在非易失性存储器存储从其它组件的至少一个接收到的数据或由其他部件的至少一个生成的数据中的至少一个。
Wi-Fi模块723、蓝牙模块725、GPS模块727、NFC模块728、和/或类似物的每一个可能,例如,包括可以处理由各自的模块接收到的或发送的数据的一个或多个处理器。虽然图7作为单独的块示出蜂窝模块721、Wi-Fi模块723、蓝牙模块725、GPS模块727、以及NFC模块728,但是根据本公开的各种实施例,蜂窝模块721、Wi-Fi模块723、蓝牙模块725、GPS模块727、NFC模块728、和/或类似物的任何组合(例如,两个或更多)可以包括在集成芯片(IC)或IC包(package)中。例如,至少一些对应于各个蜂窝模块721、Wi-Fi模块723、蓝牙模块725、GPS模块727、NFC模块728、和/或类似物的处理器可以被实现为单个SoC。例如,对应于蜂窝模块721的CP和对应于无线网络连接模块723的Wi-Fi处理器可以实现为单个SoC。
RF模块729可以,例如,发送和接收RF信号。尽管未示出,RF模块729可包括收发器、功率放大器模块(PAM)、频率滤波器、低噪声放大器(LNA)和/或类似物。RF模块734可包括用于发送和接收电磁(EM)波(例如,在自由空间或类似物)的一个或多个部件,诸如,例如,导体或导线。虽然图7示出蜂窝模块721、Wi-Fi模块723、蓝牙模块725、GPS模块727和在NFC模块728共享RF模块729,但是根据本公开的各种实施例,蜂窝模块721、Wi-Fi模块723、蓝牙模块725、GPS模块727、NFC模块728、和/或类似物中的至少一个可以经由单独的RF模块发送和接收RF信号。
SIM卡724可以是实现SIM的卡,并且可以被配置为***到设置在电子设备的指定位置的槽。SIM卡724可以包括唯一的标识符(例如,集成电路卡标识符(ICCID))用户信息(例如,国际移动订户身份(IMSI)),和/或类似物。
存储器730(例如,存储器130)可以包括内部存储器732、外部存储器734、或它们的组合。
根据本公开的各种实施例,内部存储器732可以是,例如,易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或同步动态随机存取存储器(SDRAM))、非易失性存储器(例如,一次性可编程只读存储器(OTPROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、掩模只读存储器(ROM)、闪存ROM、NAND闪存、NOR闪存)、和/或类似物中的至少一个。
根据本公开的各种实施例,内部存储器732可以是固态驱动器(SSD)。举例来说,外部存储器734可以是闪存驱动器(例如,紧凑型闪存(CF驱动器)、安全数字(SD)、微安全数字(micro-SD)、迷你安全数字(小型SD)、极端数码(xD)、记忆棒、和/或类似物)。外部存储器734可以经由各种接口可操作地连接到电子设备101。根据本公开的各种实施例,电子设备701可以包括记录装置(或记录介质),诸如,例如,硬盘驱动器(HDD)和/或类似物。
传感器模块740可以测量物理/环境特性,检测与电子设备101,和/或诸如此类相关的运行状态,并将所测量和/或检测到的信息转换成诸如,例如,电信号或电磁信号的信号。举例来说,传感器模块740可以包括手势传感器740A、陀螺仪传感器740B、大气压力传感器740C、磁传感器740D、加速计740E、手柄传感器740F、接近传感器740G、RGB传感器740H、生物测定传感器740I、温度/湿度传感器740J、光度传感器740K、紫外(UV)传感器740M、和/或类似物中的至少一个。传感器模块740可以检测电子设备的操作状态和/或测量物理性质,并将检测到的或测量到的信息转换成电信号。另外地或可替代地,传感器模块740还可以包括,例如,电子鼻传感器(未示出)、肌电图(EMG)传感器(未示出)、脑电图(EEG)传感器(未示出)、红外(IR)传感器(未示出)、眼扫描型传感器(例如,虹膜传感器)(未示出)、指纹传感器、和/或类似物。传感器模块740还可以包括用于控制包括在其中的一个或多个传感器的控制电路。
输入模块750可包括触摸面板752、(数字)笔传感器754、密钥756、超声波输入装置758、和/或类似物。
举例来说,触摸面板752可以检测使用电容、电阻、红外、超声方法,和/或类似物的触摸输入。触摸面板752还可以包括触摸面板控制器(未示出)。举例来说,除此之外或作为替代物理触摸输入,电容型触摸屏可以检测接近输入(例如盘旋输入)。触摸面板752还可以包括触觉层。根据本发明的各种实施例,触摸面板752可以提供触觉反馈给用触觉层的用户。
举例来说,(数字)笔传感器754可以使用从用户接收触摸输入相同或类似的方法,或使用单独的检测片(例如,数字转换器)来实现。
举例来说,键756可以是键盘、触摸键、和/或类似物。
举例来说,超声输入设备758可以是配置成通过使用麦克风(例如,麦克风788)检测由能够产生超声波信号的设备生成超声波信号以识别数据的装置。超声波输入设备758可以无线地检测数据。
根据本公开的各种实施例,电子设备101可以使用通信模块720从连接到的电子设备101的外部设备(例如,网络、计算机或服务器)接收用户输入。
显示模块760(例如,显示器150)可以包括面板762、全息图装置764、投影仪766、和/或类似物。举例来说,面板762可以是,例如,液晶显示器(LCD)、有源矩阵有机发光二极管(AM-OLED)显示器、和/或类似物。举例来说,面板762可被配置成是柔性的、透明的、和/或可佩戴的。面板762和触摸面板752可以实现为单个模块。全息图装置764可以提供三维图像。例如,全息元件764可利用光波的干扰,以在空的空间提供三维图像。投影仪766可以通过在表面上投射光提供图像(例如,墙壁、屏幕、和/或类似物)。举例来说,表面可被定位在电子设备101内部或外部。根据本发明的各种实施例,显示模块760还可以包括用于控制面板762、全息器件764、投影机766和/或类似物的控制电路。
接口770可以包括,例如,用于高清晰度多媒体接口(HDMI)772、通用串行总线(USB)774、投影仪776、或D-超小型(D-sub)778,和/或类似物的一个或多个接口。举例来说,接口770可以是通信接口720的一部分。另外地或可替代地,接口770可以包括,例如用于移动高清链路(MHL)、安全数字(SD)/多媒体卡(MMC)、红外数据协会(IrDA)、和/或类似物的一个或多个接口。
音频模块780可以将声音编码/解码为电信号,并且反之亦然。根据本公开的各种实施例中,音频模块780的至少一个部分可以是I/O接口140的一部分。举例来说,音频模块780可以对从扬声器782、接收器784、耳机786、麦克风788和/或类似物输入或从中输出的声音信息编码/解码。
相机模块791可以捕获静止图像和/或视频。根据本公开的各种实施例,相机模块791可以包括一个或更多个图像传感器(例如,前传感器模块、后传感器模块、和/或类似物)(未示出)、图像信号处理器(ISP)(未示出)、或闪存(例如,发光二极管(闪光LED)、氙灯、和/或类似物)(未示出)。
功率管理模块795可以管理电子设备101的电功率。尽管未示出,但是电源管理模块795可以包括,例如,电源管理集成电路(PMIC)、充电器集成电路(充电器IC)、电池计、燃料计、和/或类似物。
举例来说,PMIC可设置在集成电路或SoC半导体中。电子设备101的充电方法可以包括有线或无线充电。充电器IC可以对电池充电,可以防止过大的电压或过电流从充电器进入电子设备101,和/或类似物。根据本公开的各种实施例,充电器IC可以包括有线充电器IC或无线充电器IC中的至少一个。举例来说,无线充电器IC可以是磁谐振型、磁感应型、电磁波型、和/或类似物。举例来说,无线充电器IC可以包括诸如线圈回路、谐振电路、整流器、和/或类似物。
举例来说,电池计可以测量电荷电平、充电时的电压、电池796的温度、和/或类似物。
举例来说,电池796可以将电力提供给电子设备101。举例来说,电池796可以是可充电电池、太阳能电池、和/或类似物。
指示器797可以指示电子设备101或其一部分(例如,AP 710)的一个或多个状态(例如,开机状态、消息状态、充电状态、和/或类似物)。电机798可以将电信号转换为机械振动。
尽管未示出,电子设备101可以包括用于支持移动电视(移动TV)和/或类似物的一个或多个设备(例如,图形处理单元(GPU))。用于支持移动电视的设备可以支持兼容例如,数字多媒体广播(DMB)、数字视频广播(DVB)、媒体流、和/或类似物的媒体数据的处理。
应当理解的是,本公开的各种实施例可以用硬件、软件或硬件和软件的组合的形式来实现。
任何这样的软件可以存储在非临时性的计算机可读存储介质中。非临时性计算机可读存储介质存储一个或多个程序(软件模块),该一个或多个程序包括当由在电子设备中一个或多个处理器执行时致使电子设备执行本公开的方法的指令。
任何这样的软件可以以易失性或非易失性的形式存储,例如,诸如只读存储器的存储装置(ROM),无论可擦除或可重写与否,或以存储器的形式存储,例如,随机存取存储器(RAM)、存储芯片、设备或集成电路,或者存储在光学或磁可读介质上,诸如,例如,光盘(CD)、数字多功能光盘(DVD)、磁盘或磁带或类似物。应当理解,存储设备和存储介质是适用于存储包括在被执行时,实现本公开的各种实施例的指令的程序或多个程序的非临时性计算机可读存储器的各种实施例。因此,各种实施例提供了包括用于实现在本说明书的装置或方法的代码的程序,以及存储这样的程序的非易失性计算机可读存储器。
尽管已经示出并参考各种实施例描述了本公开,但是本领域技术人员应该理解,可以在形式和细节上做出各种改变而不脱离由所附权利要求和它们的等同物限定的本公开的精神和范围。描述了本公开的各种实施例仅是示例,并不意欲限制本公开的范围。因此,本公开的范围应被理解为包括,可以做出的不脱离本发明的技术精神的任何和所有修改。

Claims (20)

1.一种用于隔离包括在电子设备中的多个应用中的至少一个的方法,所述方法包括:
从包括在电子设备中的多个应用当中选择应用;
处理所选择的应用以在沙箱中生成修改的应用,沙箱被配置为将修改的应用与所述多个应用当中的其他应用隔离,并为处理修改的应用来提供数据隔离;
在电子设备上安装修改的应用;以及
在电子设备上只根据沙箱执行修改的应用,沙箱被配置为为修改的应用的执行提供运行时隔离和数据隔离。
2.如权利要求1所述的方法,其中所述从包括在电子设备中的多个应用当中选择应用包括:
在电子设备上显示多个应用中的至少一个;以及
接收指示所显示的应用当中的所选择的应用的用户输入。
3.如权利要求1所述的方法,其中所述处理所选择的应用包括隔离对应于所选择的应用的应用文件以生成包括在沙箱中的修改的应用,
其中,修改的应用包括修改的应用清单、修改的Dalvik可执行DEX文件、或者修改的或替换的应用图标或图像中的至少一个。
4.如权利要求3所述的方法,其中所述隔离对应于所选择的应用的应用文件包括:
提取对应于该应用文件的应用清单;
修改应用清单为修改的应用清单;以及
存储所修改的应用清单以便对应于包含在沙箱中的修改的应用。
5.如权利要求4所述的方法,其中所述修改所述应用清单包括:
修改包括在应用清单中描述符和引用中的至少一个,
其中所述描述符和引用中的至少一个对应于进程名、文件名、存储位置、设备、地址、指针以及操作***组件中的至少一个。
6.如权利要求4所述的方法,其中所述修改所述应用清单包括:
对于应用许可和操作***组件中至少一个执行添加和修改中的至少一个,
其中,所述应用许可和操作***组件中的至少一个在所选择的应用被执行安装和下载中的至少一个时定义。
7.如权利要求3所述的方法,其中,隔离对应于所选择的应用包括将对应于所选择的应用的DEX文件容器化为修改的DEX文件,
其中所述DEX文件包括Dalvik字节码。
8.如权利要求7所述的方法,其中所述DEX文件的容器化包括使用被配置为对修改的应用的执行提供数据隔离和运行时隔离的至少一个代理方法,对于包括在Dalvik的字节码中的至少一个进程执行替换和修改中的至少一个,
其中,所述至少一个进程控制由所选择的应用对于消息的发送和接收中的至少一个。
9.如权利要求7所述的方法,其中所述DEX文件的容器化包括将对象***Dalvik字节码的类层级中,
其中所述对象控制由所选择的应用对于消息的发送和接收中的至少一个。
10.如权利要求3所述的方法,其中,隔离对应于所选择的应用的应用文件以生成包括在沙箱中的修改的应用包括:将修改的应用清单和修改的DEX文件打包为与该修改的应用对应的修改的应用包,
其中所述修改的应用包包括指示修改的应用包的完整性的证书。
11.一种用于隔离包括在电子设备中的多个应用中的至少一个的装置,所述装置包括:
显示器,被配置为显示所述包括在电子设备中的多个应用和接收从所述多个应用当中选择应用的用户输入;
处理器,被配置为预处理所选择的应用以在沙箱中生成修改的应用,沙箱被配置为将修改的应用与所述多个应用当中的其他应用隔离并提供数据隔离以用于处理修改的应用,以及仅根据沙箱在电子设备上安装修改的应用,沙箱被配置为为修改的应用的执行提供运行时隔离和数据隔离;以及
存储器,被配置为存储修改的应用。
12.如权利要求11所述的装置,还包括输入/输出I/O接口,被配置为接收指示所显示的应用当中的所选择的应用的用户输入。
13.如权利要求11所述的装置,其中所述处理器还被配置为将对应于选择的应用的应用文件隔离,以生成包含在沙箱中的修改的应用,以及
其中,修改的应用包括修改的应用清单、修改的Dalvik可执行DEX文件、或者修改的或替换的应用图标或图像中的至少一个。
14.如权利要求13所述的装置,其中所述处理器还被配置为提取对应于所述应用文件的应用清单,修改应用清单为修改的应用清单,以及存储所修改的应用的清单,以便对应于包含在存储器中的沙箱中的修改的应用。
15.如权利要求14所述的装置,其中所述处理器还被配置为修改包括在应用清单中的描述符和引用中的至少一个,
其中所述描述符的和引用中的至少一个对应于进程名、文件名、存储位置、装置、地址、指针以及操作***组件中的至少一个。
16.如权利要求14所述的装置,其中所述处理器还被配置为对于应用权限和操作***组件中的至少一个执行添加和修改中的至少一个,
其中,所述应用许可和操作***组件的至少一个在所选择的应用被执行安装和下载中的至少一个时定义。
17.如权利要求13所述的装置,其中所述处理器还被配置为将对应于选择的应用的DEX文件容器化为修改的DEX文件,
其中,DEX文件包括Dalvik字节码。
18.如权利要求17所述的装置,其中所述处理器还被配置为使用被配置为利用为所选择的应用的执行提供数据隔离和运行时隔离的至少一个代理方法,对于包括在Dalvik字节码中的至少一个进程执行替换和修改中的至少一个,
其中,修改的进程控制由所选择的应用对于消息的发送和接收中的至少一个。
19.如权利要求17所述的装置,其中所述处理器还被配置为将对象***Dalvik字节码的类层级中,
其中所述对象控制由所选择的应用对于消息的发送和接收中的至少一个。
20.如权利要求13所述的装置,其中所述处理器还被配置为将修改的应用清单和所述修改的DEX文件打包为与修改的应用对应的修改的应用包,
其中所述修改的应用包包括指示修改的应用包的完整性的证书。
CN201610037582.XA 2015-01-21 2016-01-20 在移动设备中运行相同应用的多个实例的装置和方法 Expired - Fee Related CN105809028B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/601,821 2015-01-21
US14/601,821 US9575740B2 (en) 2015-01-21 2015-01-21 Apparatus and method for running multiple instances of a same application in mobile devices
KR1020150072966A KR102467474B1 (ko) 2015-01-21 2015-05-26 동일한 애플리케이션의 복수 인스턴스를 실행하는 방법 및 그 전자 장치
KR10-2015-0072966 2015-05-26

Publications (2)

Publication Number Publication Date
CN105809028A CN105809028A (zh) 2016-07-27
CN105809028B true CN105809028B (zh) 2021-09-14

Family

ID=55083344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610037582.XA Expired - Fee Related CN105809028B (zh) 2015-01-21 2016-01-20 在移动设备中运行相同应用的多个实例的装置和方法

Country Status (3)

Country Link
EP (1) EP3048552A1 (zh)
CN (1) CN105809028B (zh)
AU (1) AU2016200072B2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772930B2 (en) * 2015-06-22 2017-09-26 Adobe Systems Incorporated Techniques for evaluating applications through use of an auxiliary application
CN106650324A (zh) * 2016-10-10 2017-05-10 广东欧珀移动通信有限公司 应用程序的权限管理方法、装置及移动终端
CN106572341B (zh) * 2016-10-31 2019-08-30 努比亚技术有限公司 投影中的省电方法及装置
CN107832105B (zh) * 2017-11-24 2022-02-15 南昌黑鲨科技有限公司 一种应用程序启动方法、启动装置及计算机可读存储介质
CN109976243B (zh) * 2017-12-28 2020-08-25 深圳市优必选科技有限公司 机器人同步控制方法、装置及设备
CN110851823B (zh) * 2019-11-12 2023-03-10 腾讯科技(深圳)有限公司 数据访问方法、装置、终端及存储介质
CN114253646B (zh) * 2021-11-30 2024-01-23 万翼科技有限公司 数字沙盘展示和生成方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963914A (zh) * 2010-11-12 2011-02-02 南京大学 一种基于字节码文件重构的Java类在线更新方法
CN102736945A (zh) * 2011-03-31 2012-10-17 国际商业机器公司 一种运行应用程序的多个实例的方法和***
US8887152B1 (en) * 2011-11-04 2014-11-11 Trend Micro, Inc. Android application virtual environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963914A (zh) * 2010-11-12 2011-02-02 南京大学 一种基于字节码文件重构的Java类在线更新方法
CN102736945A (zh) * 2011-03-31 2012-10-17 国际商业机器公司 一种运行应用程序的多个实例的方法和***
US8887152B1 (en) * 2011-11-04 2014-11-11 Trend Micro, Inc. Android application virtual environment

Also Published As

Publication number Publication date
EP3048552A1 (en) 2016-07-27
AU2016200072B2 (en) 2020-10-08
CN105809028A (zh) 2016-07-27
AU2016200072A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
USRE48311E1 (en) Apparatus and method for running multiple instances of a same application in mobile devices
CN105809028B (zh) 在移动设备中运行相同应用的多个实例的装置和方法
EP3108398B1 (en) Method and apparatus to sandbox run-time android applications with lightweight container
US11256496B2 (en) Apparatus and method for managing application
KR102320151B1 (ko) 어플리케이션을 설치하는 전자 장치 및 그 제어 방법
US10021103B2 (en) Service authorization methods and apparatuses
CN109726067B (zh) 一种进程监控方法以及客户端设备
EP3100410B1 (en) Apparatus and method for providing a service
KR102428461B1 (ko) 선택적 암호화 방법 및 그를 이용한 전자 장치
KR102333425B1 (ko) 런타임 시의 안드로이드 애플리케이션들을 경량 컨테이너로 샌드박싱하는 방법 및 장치
US20170078269A1 (en) Method for managing application and electronic device supporting the same
WO2015126133A1 (en) Method and apparatus to sandbox run-time android applications with lightweight container
EP3131031A1 (en) Content security processing method and electronic device supporting the same
EP2908502B1 (en) Providing control in a multi user environment
KR102320149B1 (ko) 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
KR102495924B1 (ko) 어플리케이션의 보안 처리 방법 및 이를 지원하는 전자 장치
US10417030B2 (en) Apparatus and method for compile time construction of memory structures
US11809550B2 (en) Electronic device and control method therefor
KR102018960B1 (ko) 이중 패킹을 이용한 코드 난독화
EP2911082B1 (en) Apparatus, method, and system for accessing and managing security libraries

Legal Events

Date Code Title Description
C06 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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210914

CF01 Termination of patent right due to non-payment of annual fee