CN112148313B - Method, medium and equipment for simultaneously running multiple same-name applications in sandbox - Google Patents

Method, medium and equipment for simultaneously running multiple same-name applications in sandbox Download PDF

Info

Publication number
CN112148313B
CN112148313B CN202010993881.7A CN202010993881A CN112148313B CN 112148313 B CN112148313 B CN 112148313B CN 202010993881 A CN202010993881 A CN 202010993881A CN 112148313 B CN112148313 B CN 112148313B
Authority
CN
China
Prior art keywords
application
sandbox
applications
manager module
name
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
Application number
CN202010993881.7A
Other languages
Chinese (zh)
Other versions
CN112148313A (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.)
Xiamen Xin'ge Information Technology Co ltd
Original Assignee
Xiamen Xin'ge Information 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 Xiamen Xin'ge Information Technology Co ltd filed Critical Xiamen Xin'ge Information Technology Co ltd
Priority to CN202010993881.7A priority Critical patent/CN112148313B/en
Publication of CN112148313A publication Critical patent/CN112148313A/en
Application granted granted Critical
Publication of CN112148313B publication Critical patent/CN112148313B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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

Abstract

The invention relates to a method, a storage medium and equipment for simultaneously operating a plurality of applications with the same name in a sandbox.A sandbox APP is installed in an Android system, and the system architecture of the sandbox comprises a bag manager module, an activity manager module, a window manager module and a Binder Driver communication module; and isolated application process spaces are set for a plurality of homonymous applications, so that multiple opening of the homonymous applications is realized, and a user can control and manage a plurality of accounts at the same time without frequent log-out and log-in operations.

Description

Method, medium and equipment for simultaneously running multiple same-name applications in sandbox
Technical Field
The invention relates to a method, a storage medium and equipment for simultaneously running a plurality of same-name applications in a sandbox.
Background
At present, most Applications (APP) can be installed on one mobile device only when being installed, and a plurality of applications with the same name cannot be installed and operated simultaneously. In the use stage, a user generally has a plurality of accounts for distinguishing life and work. Since the current application basically only allows logging in one account at a time, when a user needs to switch accounts, the user must log out the logged account first and then log in another account again. If a user needs to control multiple accounts at the same time, frequent exit and login operations are required, or applications are respectively installed on multiple different mobile devices, which is very high in cost.
Disclosure of Invention
The invention aims to provide a method, a storage medium and equipment for simultaneously operating a plurality of homonymous applications in a sandbox, so that a user can safely and stably open and operate the plurality of homonymous applications on the same mobile equipment with an Android system, and can simultaneously control and manage a plurality of accounts without frequent log-out and log-in operations.
The invention discloses a method for simultaneously operating a plurality of applications with the same name in a sandbox, which comprises the following steps:
step 1, installing a sandbox APP in an Android system, wherein the sandbox system comprises the following structures: the system comprises a package manager module VPM, an activity manager module APM, a window manager module VWM and a Binder Driver communication module;
step 2, installing a plurality of applications with the same name through sandbox APP:
(1) clicking to enter an adding multi-open application list of the sandbox APP, analyzing all applications of the Android system by the package manager module, serializing the related information into the SD card, judging whether the application to be installed is installed on the Android system or not, if so, after the package manager module analyzes, displaying the application name and the application icon in a multi-open list of a sandbox APP, if the application name and the application icon are not installed, manually downloading an apk file and installing the apk file by a user, clicking and adding an application to be installed by the user, analyzing a meniaest file of the application by the sandbox APP, acquiring a packet name of the application, distributing a process space of the application in a sandbox environment, and copies and saves the designated so dynamic library file, if the apk file is installed in the sandbox environment, the sandbox system calls the appointed Api to dynamically load the apk file to the sandbox home page and display the application M, otherwise, the sandbox system copies the necessary file first and loads and installs the apk file to the sandbox home page and display the application M;
(2) the method comprises the steps that an Activity manager module manages jump of adding a multi-open application list page, P completely isolated multi-open process spaces are configured through an SD card directory distributed by a package manager module, wherein P <50, rewriting is carried out through a replacement system ProcessRecord, vpid is inquired in the installation process, whether the current process exists in the current sandbox environment or not is judged, if not, an Activity management system service VAMS distributes an isolated process space to the vpid and stores the isolated process space in an Array set, designated Activity is found by the vpid, application M icon starting component information and the application M process space are set in an internal Intent of the sandbox, preparation is made for application starting, P application icons are generated on a sandbox home page, and therefore management and destruction of the P multi-open process spaces are achieved.
Step 3, simultaneously operating a plurality of applications with the same name in the sandbox:
(1) a user enters a home page of a sandbox APP and clicks and selects a plurality of applications which are required to run and installed and have the same name;
(2) acquiring Intent information of a started application through an activity manager module, sequentially judging whether components and processes of the application needing to be started exist or not through a sandbox APP, if not, starting to create the components and the processes, and acquiring relevant information of the application from the Intent through a Hook stub activity service agent and replacement of the Intent information system when a new process is created, and if the process of the application already exists, loading the previously created or existing components of the application through the process;
(3) after the application is started, the stub Activities needing to be started are added into the Map by the window management module, then the stub Activities are called from the Map to obtain information of the client application from the Intent and modify a Handler of a main thread of the window management module, an application process space is distributed through the IBinder Driver communication module, the recorded thread information is transmitted into the stub Activities, the user application is started through reflection, and the user application is enabled to run in the sandbox APP.
The packet manager module: the system is used for installation management of applications with the same name, a specified folder is created and stored into an SD card by taking the package name as the folder name, and management of application information, global data of multi-open applications, four major components, self-defined permission, life permission, Apk installation, deletion and destruction are provided by the system;
the activity manager module is used for carrying out distribution, isolation and destruction management on processes of applications with the same name and multiple opens; managing system Activity, including Activity creation and destruction; the method comprises the following steps of (1) managing runtime functions, packaging runtime data structures, and managing a Process, a Service component and a Broadcasterever component;
the window manager module: adding, deleting and updating management of Activity for the same-name multi-open application; the window management based on the system Framework layer is used for managing all windows in the system, namely adding, updating and deleting the View and the declaration period management of the View, the updating and the deleting;
the Binder Driver communication module: the IPC communication framework is a system IPC communication framework which realizes an angular indexing inner core layer and a user space layer, wherein the inner core layer is realized by Binder driving under a Liunx system, and the user space layer is realized by a Native layer or a Java layer.
The present invention is a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements any of the methods described above for running multiple applications of the same name simultaneously in a sandbox.
The invention relates to computer equipment, which comprises one or more processors located at local or cloud end; storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement any of the methods for running a plurality of applications of the same name in a sandbox simultaneously as described above.
By adopting the technical scheme of the invention, the multiple opening of the application with the same name can be realized through the isolated application process space in the established mature environment configuration (sandbox), and a user can simultaneously control and manage a plurality of accounts without frequent log-out and log-in operations.
Drawings
FIG. 1 is a schematic diagram of the operation of a sandbox in accordance with the present invention;
FIG. 2 is a flow chart of the present invention for installing multiple applications;
FIG. 3 is a flow chart of the present invention for running multiple applications.
The invention is described in further detail below with reference to the figures and the specific embodiments.
Detailed Description
As shown in fig. 1, the method for running a plurality of applications of the same name in a sandbox comprises the following steps:
step 1, installing a sandbox APP in an Android system, wherein the system architecture of the sandbox comprises the following steps: a package manager module (VPM), an activity manager module (APM), a window manager module (VWM) and a Binder Driver communication module;
the packet manager module: the system is used for installation management of applications with the same name, a specified folder is created and stored into an SD card by taking a package name as the folder name, and management of application information, global data of multi-open applications, four components, a self-defined authority, a life authority, Apk (android software installation package) installation, deletion and destruction are provided by the system;
the activity manager module is used for carrying out distribution, isolation and destruction management on processes of applications with the same name and multiple opens; managing system Activity, including Activity creation and destruction; runtime function management and runtime data structure encapsulation, management of processes (processes), Service components and broadcastereiver components;
the window manager module: adding, deleting and updating management of Activity for the same-name multi-open application; the window management based on the system Framework layer is used for managing all windows in the system, namely adding, updating and deleting the View and the declaration period management of the View, the updating and the deleting;
the Binder Driver communication module: the IPC communication framework is a system IPC communication framework which realizes an angular indexing inner core layer and a user space layer, wherein the inner core layer is realized by Binder driving under a Liunx system, and the user space layer is realized by a Native layer or a Java layer;
step 2, installing a plurality of applications of the same name through sandbox APP, as shown in FIG. 2:
(1) entering a sandbox APP to click a bottom Tab adding button to enter an adding multi-open application list, analyzing the apk information, components, authority and the like of all applications of the Android system by a bag manager module, serializing the information into an SD card, judging whether the application M to be installed is installed on the Android system or not, if the application M is installed, analyzing by the bag manager module, displaying the application name and application icon in the multi-open list of the sandbox APP, if the application M is not installed, manually downloading and installing an apk file by a user, clicking a menifest file of the application analyzed by the sandbox APP by the user, taking the bag name of the application M, allocating the process space of the application M in the sandbox environment, copying and storing an appointed so dynamic file, if the apk file is installed in the sandbox environment, calling the appointed Api dynamic loading apk file to a sandbox head page by the sandbox system and displaying the application M, otherwise, after the sandbox system copies necessary files, the apk files are loaded and installed to the sandbox home page, application M is displayed, and finally installation is completed through broadcast notification;
(2) the activity manager module manages the jump of adding the multi-open application list page, P completely isolated multi-open process spaces are configured through the SD card catalog distributed by the packet manager module, wherein P <50, rewriting through a replacement system ProcessRecord (process cache class), inquiring vpid (process id) in the installation process, judging whether the current process exists in the current sandbox environment, if not, the active management system service VAMS allocates an isolated process space to the vpid and stores it in the Array set, finding the designated Activity by vpid, setting the application M icon starting component information and the application M process space into the internal Intent of the sandbox, preparing for application starting, p application icons are generated on the sandbox home page, the corresponding application names are respectively M1, M2, … and MP, the process space allocation of the P applications of the same name is as follows: com. tencent. mm (app package name): p0, com. tencent. mm (application package name): p1, etc., thereby realizing the management and destruction of P multiple open-range spaces.
Step 3, running a plurality of applications with the same name in the sandbox, as shown in fig. 3:
(1) a user enters a home page of a sandbox APP and clicks and selects N applications (N refers to the number of the applications with the same name which are simultaneously operated, and N is less than 10) in a plurality of installed applications M which are required to be operated;
(2) obtaining Intent information of a started application through an activity manager module, judging whether a component of the application needing to be started exists or not by a sandbox APP, if not, starting to create the component of the application, if an application icon is clicked before, then judging that the component exists or not by a system when clicking, then inquiring whether a process of the application exists or not, if not, creating a new process, and obtaining relevant information of the application from Intent through a Hook stub activity service agent and replacement of an Intent information system service, if the process of the application exists, then loading the previously created or existing component of the application by the process;
(3) after the application is started, the window management module adds the stub Activities to be started into the Map, calls the stub Activities from the Map to acquire information of the client application from the Intent and modify a Handler of a main thread of the window management module, distributes application process space through an IBinder Driver communication module (IPC), calls the stub Activities to transmit the recorded thread information, finishes the starting of the user application through reflection, and enables the user application to run in the sandbox APP.
The present invention is a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements any of the methods described above for running multiple applications of the same name simultaneously in a sandbox.
The invention relates to computer equipment, which comprises one or more processors located at local or cloud end; storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement any of the methods for running a plurality of applications of the same name in a sandbox simultaneously as described above.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the technical scope of the present invention, so that any minor modifications, equivalent changes and modifications made to the above embodiment according to the technical spirit of the present invention are within the technical scope of the present invention.

Claims (3)

1. A method for running multiple applications of the same name simultaneously in a sandbox comprising the steps of:
step 1, installing a sandbox APP in an Android system, wherein the sandbox system architecture comprises the following steps: the system comprises a package manager module VPM, an activity manager module APM, a window manager module VWM and a Binder Driver communication module;
the packet manager module: the system is used for installation management of applications with the same name, a specified folder is created and stored into an SD card by taking the package name as the folder name, and management of application information, global data of multi-open applications, four major components, self-defined permission, life permission, Apk installation, deletion and destruction are provided by the system;
the activity manager module is used for carrying out distribution, isolation and destruction management on processes of applications with the same name and multiple opens; managing system Activity, including Activity creation and destruction; the method comprises the following steps of (1) managing runtime functions, packaging runtime data structures, and managing a Process, a Service component and a Broadcasterever component;
the window manager module: adding, deleting and updating management of Activity for the same-name multi-open application; the window management based on the system Framework layer is used for managing all windows in the system, namely adding, updating and deleting the View and the declaration period management of the View, the updating and the deleting;
the Binder Driver communication module: the IPC communication framework is a system IPC communication framework which realizes an angular indexing kernel layer and a user space layer, wherein the kernel layer is realized by Binder driving under a Linux system, and the user space layer is realized by a Native layer or a Java layer;
step 2, installing a plurality of applications with the same name through sandbox APP:
(1) clicking to enter an adding multi-open application list of the sandbox APP, analyzing all applications of the Android system by the package manager module, serializing the related information into the SD card, judging whether the application to be installed is installed on the Android system or not, if so, after the package manager module analyzes, displaying an application name and an application icon in a multi-open list of a sandbox APP, if the application name and the application icon are not installed, manually downloading an apk file and installing the apk file by a user, clicking and adding an application to be installed by the user, analyzing a manifest file of the application by the sandbox APP to obtain a package name of the application, distributing a process space of the application in a sandbox environment, and copies and saves the designated so dynamic library file, if the apk file is installed in the sandbox environment, the sandbox system calls the appointed Api to dynamically load the apk file to the sandbox home page and display the application M, otherwise, the sandbox system copies the necessary file first and loads and installs the apk file to the sandbox home page and display the application M;
(2) the method comprises the steps that an Activity manager module manages jump of adding a multi-open application list page, P completely isolated multi-open process spaces are configured through an SD card directory distributed by a package manager module, wherein P <50, the SD card directory is rewritten through a replacement system processRecord, vpid is inquired in the installation process, whether a current process exists in the current sandbox environment is judged, if not, an Activity management system service VAMS distributes an isolated process space to the vpid and stores the vpid in an Array set, designated Activity is found by the vpid, application M icon starting component information and an application M process space are set in an internal Intent of the sandbox, preparation is made for application starting, P application icons are generated on a sandbox home page, and management and destruction of the P multi-open process spaces are achieved;
step 3, simultaneously operating a plurality of applications with the same name in the sandbox:
(1) a user enters a home page of a sandbox APP and clicks and selects a plurality of applications which are required to run and installed and have the same name;
(2) acquiring Intent information of a started application through an activity manager module, sequentially judging whether components and processes of the application needing to be started exist or not through a sandbox APP, if not, starting to create the components and the processes, and acquiring relevant information of the application from the Intent through a Hook stub activity service agent and replacement of the Intent information system when a new process is created, and if the process of the application already exists, loading the previously created or existing components of the application through the process;
(3) after the application is started, the stub Activities needing to be started are added into the Map by the window management module, then the stub Activities are called from the Map to obtain information of the client application from the Intent and modify a Handler of a main thread of the window management module, an application process space is distributed through the IBinder Driver communication module, the recorded thread information is transmitted into the stub Activities, the user application is started through reflection, and the user application is enabled to run in the sandbox APP.
2. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out a method of simultaneously running a plurality of homonymic applications in a sandbox as claimed in claim 1.
3. A computer device comprising one or more processors located locally or in a cloud; storage means for storing one or more programs which, when executed by said one or more processors, cause said one or more processors to implement a method of running a plurality of applications of the same name in a sandbox as claimed in claim 1.
CN202010993881.7A 2020-09-21 2020-09-21 Method, medium and equipment for simultaneously running multiple same-name applications in sandbox Active CN112148313B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010993881.7A CN112148313B (en) 2020-09-21 2020-09-21 Method, medium and equipment for simultaneously running multiple same-name applications in sandbox

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010993881.7A CN112148313B (en) 2020-09-21 2020-09-21 Method, medium and equipment for simultaneously running multiple same-name applications in sandbox

Publications (2)

Publication Number Publication Date
CN112148313A CN112148313A (en) 2020-12-29
CN112148313B true CN112148313B (en) 2022-05-20

Family

ID=73893402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010993881.7A Active CN112148313B (en) 2020-09-21 2020-09-21 Method, medium and equipment for simultaneously running multiple same-name applications in sandbox

Country Status (1)

Country Link
CN (1) CN112148313B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105427096A (en) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 Payment security sandbox realization method and system and application program monitoring method and system
CN106384045A (en) * 2016-09-12 2017-02-08 电子科技大学 Android storage application sandbox based on application program virtualization, and communication method thereof
CN109784039A (en) * 2018-11-28 2019-05-21 杭州天宽科技有限公司 Construction method, electronic equipment, the storage medium of mobile terminal safety running space
CN109960563A (en) * 2017-12-22 2019-07-02 北京安天网络安全技术有限公司 Call the more extractions of root of hook application program and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162653B2 (en) * 2016-03-31 2018-12-25 Vmware, Inc. Capturing components of an application using a sandboxed environment
CN106250124B (en) * 2016-07-25 2020-01-21 百富计算机技术(深圳)有限公司 Method and device for realizing cross-platform operation of functional modules

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105427096A (en) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 Payment security sandbox realization method and system and application program monitoring method and system
CN106384045A (en) * 2016-09-12 2017-02-08 电子科技大学 Android storage application sandbox based on application program virtualization, and communication method thereof
CN109960563A (en) * 2017-12-22 2019-07-02 北京安天网络安全技术有限公司 Call the more extractions of root of hook application program and system
CN109784039A (en) * 2018-11-28 2019-05-21 杭州天宽科技有限公司 Construction method, electronic equipment, the storage medium of mobile terminal safety running space

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多安全机制的Linux应用沙箱的设计与实现;李晨 等;《集成技术》;20140831;第3卷(第4期);全文 *

Also Published As

Publication number Publication date
CN112148313A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
US10459822B1 (en) Iterative static analysis using stored partial results
RU2421785C2 (en) Automated control of device drivers
US20180039507A1 (en) System and method for management of a virtual machine environment
US10545775B2 (en) Hook framework
KR101574366B1 (en) Synchronizing virtual machine and application life cycles
US7558867B2 (en) Automatic firmware upgrade for a thin client using one or more FTP servers
US8239505B2 (en) Progressively implementing declarative models in distributed systems
US7774762B2 (en) System including run-time software to enable a software application to execute on an incompatible computer platform
US8793676B2 (en) Version-resilient loader for custom code runtimes
US20080222160A1 (en) Method and system for providing a program for execution without requiring installation
CN105490860A (en) Method, device and system for deploying application program operation environment
CN110196731B (en) Operation and maintenance system, method and storage medium
US20120066682A1 (en) Virtual and physical enterprise system imaging
US20070113066A1 (en) Host build and rebuild system and method
US20100058327A1 (en) Methods and systems for providing customized actions related to software provisioning
US20100005481A1 (en) Method of Maintaining Applications in a Computing Device
US8640121B2 (en) Facilitating multi-installer product installations
US20070101328A1 (en) Sequencing a single task sequence across multiple operating environments
CN110196722B (en) Cloud host batch management method, system, equipment and storage medium
US11604627B2 (en) Systems and methods for on-demand provisioning of robotic process automation environments
US20080148355A1 (en) Providing Policy-Based Operating System Services in an Operating System on a Computing System
JP2017111761A (en) Container storage device, container creation method and program
JP2001356912A (en) Install/update/uninstall system of software
US20190089586A1 (en) User controlled environment updates in server cluster
US20220197249A1 (en) Dynamic Cloud Deployment of Robotic Process Automation (RPA) Robots

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