CN108399331B - Application process trial method and system - Google Patents

Application process trial method and system Download PDF

Info

Publication number
CN108399331B
CN108399331B CN201710065906.5A CN201710065906A CN108399331B CN 108399331 B CN108399331 B CN 108399331B CN 201710065906 A CN201710065906 A CN 201710065906A CN 108399331 B CN108399331 B CN 108399331B
Authority
CN
China
Prior art keywords
application
virtual
running
application process
starting
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
CN201710065906.5A
Other languages
Chinese (zh)
Other versions
CN108399331A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710065906.5A priority Critical patent/CN108399331B/en
Publication of CN108399331A publication Critical patent/CN108399331A/en
Application granted granted Critical
Publication of CN108399331B publication Critical patent/CN108399331B/en
Active 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

An application process trial method comprising: acquiring an application test run instruction; loading codes and resources of the application according to the test run instruction, storing the codes and resources into a virtual running area, and analyzing an information description file of the application to obtain starting information of the application; and forwarding the starting information to a system service through the virtual running area, and starting and running the application in the virtual running area. The application process trial system is further provided. The installation package of the downloaded application is used in the virtual running area, and the security risk is not generated because the virtual running area is isolated from the process running environment of the system service of the terminal; the application process does not need to be actually installed before the process is tried, whether the application is needed or not can be determined through the true experience of the trial, and the application process which is really needed by the user is actually installed, so that the effective distribution is improved, and the potential safety hazard is reduced.

Description

Application process trial method and system
Technical Field
The present invention relates to the field of software applications, and in particular, to a method and system for testing an application process.
Background
The evolution of the internet has led to a wide variety of software application processes, such as instant messaging applications, social applications, gaming applications, translation applications, and the like. These applications may typically be presented to the mobile terminal user in an application marketplace for viewing and downloading by the mobile terminal user. When downloading applications, mobile terminal users are faced with a large number of applications, especially the same type of applications, and often do not know how to choose, and need to install the applications before running for trial.
However, the above method needs to be installed in advance for trial to know whether the application is needed by the user or not, the operation is complicated, the trial threshold is high, and many camouflaged malicious applications cannot be distinguished before use at present, so that safety risks can be brought once the application is installed.
In the related art, there is no effective solution to the above-mentioned problems.
Disclosure of Invention
Based on this, it is necessary to provide a simple and safe application process trial method and system.
An application process trial method comprising:
acquiring an application test run instruction;
loading codes and resources of the application according to the test run instruction, storing the codes and resources into a virtual running area, and analyzing an information description file of the application to obtain starting information of the application;
and forwarding the starting information to a system service through the virtual running area, and starting and running the application in the virtual running area.
An application process trial system comprising:
the acquisition module is used for acquiring an application test running instruction;
the analysis module is used for loading codes and resources of the application according to the test run instruction, storing the codes and resources into a virtual running area, and analyzing an information description file of the application to obtain starting information of the application;
and the operation module is used for forwarding the starting information to a system service through the virtual operation area, and starting and operating the application in the virtual operation area.
According to the application process trial method and the application process trial system, the running environment of the application in the mobile terminal during running is simulated through the virtual running area, and the installation package of the downloaded application is used in the virtual running area, so that the security risk is not generated because the virtual running area is isolated from the process running environment of the system service of the terminal; the application process does not need to be actually installed before the process is tried, whether the application is needed or not can be determined through the true experience of the trial, and the application process which is really needed by the user is actually installed, so that effective distribution is improved, operation is simple, and potential safety hazards are reduced.
Drawings
FIG. 1 is a system architecture diagram of an application process commissioning method in an embodiment;
FIG. 2 is a schematic diagram illustrating an internal structure of a mobile terminal according to an embodiment;
FIG. 3 is a flow chart of a method for commissioning an application process in an embodiment;
FIG. 4 is a flow chart of a method of commissioning an application process in another embodiment;
FIG. 5 is a flow chart of a method of commissioning an application process in yet another embodiment;
FIG. 6 is a flow chart of a method of commissioning an application process in another embodiment;
FIG. 7 is a flow chart of a method of commissioning an application process in yet another embodiment;
FIG. 8 is a flow chart of a method of commissioning an application process in another embodiment;
FIG. 9 is a flow chart of a method of commissioning an application process in yet another embodiment;
FIG. 10 is a schematic diagram of a storage class application entering a commissioning procedure;
FIG. 11 is a schematic diagram of a storage class application program installed after the end of the test run;
FIG. 12 is a schematic diagram of a system for commissioning an application process in an embodiment;
FIG. 13 is a schematic diagram of a system for commissioning an application process in another embodiment;
FIG. 14 is a schematic diagram of a system for commissioning an application process in yet another embodiment;
FIG. 15 is a schematic diagram of a system for commissioning an application process in another embodiment;
fig. 16 is a schematic structural diagram of an application process commissioning system in yet another embodiment.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and/or" as used herein includes any and all combinations of one or more of the associated listed items.
The user classification method provided by the embodiment of the invention can be applied to the system shown in fig. 1, as shown in fig. 1, the terminal 100 communicates with the server 200 through a network, the terminal 100 obtains application processes pushed by the server, such as cloud storage application, instant messaging application, social application, game application, translation application and the like, and obtains test run instructions or operation ending instructions input by a terminal user to corresponding application processes, and the trial of the corresponding application processes is completed according to the application test run instructions or the operation ending instructions. Terminal 100 is typically a mobile terminal such as a smart phone, tablet, personal Digital Assistant (PDA), or the like. The server 200 may be a stand-alone physical server or a cluster of physical servers.
The application process trial method provided by the embodiment of the invention can be applied to the terminal shown in fig. 2. As shown in fig. 2, the mobile terminal 100 includes a processor, a nonvolatile storage medium, an internal memory, a network interface, and a display screen connected through a system bus. The processor has a computing function and a function of controlling the operation of the mobile terminal, and is configured to execute an application process trial method. The non-volatile storage medium includes at least one of a magnetic storage medium, an optical storage medium, and a flash memory storage medium, and stores an operating system and an application process trial system. The application process trial system is used for realizing a method for performing trial running on an application process. The network interface is for connecting to the server for communicating with the server and receiving resources from the network.
As shown in fig. 3, an application process trial method provided in an embodiment of the present application may be applied to the mobile terminal shown in fig. 2, and specifically includes the following steps.
Step 101, acquiring an application test run instruction.
The application process contains various programming languages that can be used by the user, as well as a collection of applications that are programmed with the various programming languages. Application processes are typically software programs provided to meet application requirements of different fields and different problems of users, and common application processes include instant messaging application processes, social application processes, game application processes, translation application processes and the like. The application commissioning instruction may be an operation instruction to click on a commissioning application process or open an application process. The application commissioning instruction may be an operation of a preset rule, such as an operation by touching or clicking a preset control. Preferably, before the step of acquiring the application test run instruction, the method further comprises acquiring a downloading application instruction, and downloading an installation package of the application according to the downloading application instruction.
And step 103, loading codes and resources of the application according to the test run instruction, storing the codes and resources into a virtual running area, and analyzing an information description file of the application to acquire starting information of the application.
Each application process is implemented by code, and resources are required for running the application process. A resource is any non-executable data logically deployed by an application process. The resource may be displayed as error data in the application process or as part of a user interface. The resource may contain various forms of data including strings, images, and persistent objects. The virtual running area refers to a simulated virtual running environment corresponding to the running time of the standard application process of the system, and is isolated from the real running environment of the terminal system. And loading codes and resources of the application from the installation package of the application process according to the test run instruction, storing the codes and resources into the virtual running area, and analyzing the information description file of the application to acquire the starting information of the application. In a specific embodiment, the mobile terminal is a commonly used Android system terminal, and the information description file is an Android management.
And step 105, forwarding the starting information to the system service through the virtual operation area, and starting and operating the application in the virtual operation area.
System services refer to programs or processes that perform specified system functions in order to support other programs. And forwarding the starting information of the application process to be tried to the system service so as to realize the test operation through the virtual operation area under the support of the system service.
According to the application process trial method, the running environment of the application in the mobile terminal in running is simulated through the virtual running area, and the installation package of the downloaded application is used in the virtual running area, so that the security risk is not generated because the virtual running area is isolated from the process running environment of the system service of the terminal; the application process does not need to be actually installed before the process is tried, whether the application is needed or not can be determined through the true experience of the trial, and the application process which is really needed by the user is actually installed, so that the effective distribution is improved, and the potential safety hazard is reduced.
In another embodiment, as shown in fig. 4, step 103, before the step of loading the code and the resource of the application according to the test run instruction into the virtual running area and analyzing the information description file of the application to obtain the starting information of the application, further includes:
step 102, simulating a virtual running environment corresponding to a standard application process running time environment of the Android system to serve as a virtual container, and starting the virtual container to serve as a virtual running area.
In a specific embodiment, the mobile terminal is a commonly used Android system terminal, and the virtual running area is a virtual running environment corresponding to a standard application process running environment simulating an Android system, namely a virtual container. The container is a service program, one port of the server corresponds to a service program for providing corresponding service, the service program processes a request sent from a client, and an environment is provided for an application program component in the virtual container through the setting of the virtual container, so that the application program component directly interacts with a service interface in the container and is isolated from the real running environment of the Android system. The Android system is a commonly used mobile phone operating system, the existing Android system terminal cannot be tried to know the process functions and performance before the application process is actually installed, and potential safety hazards are brought to the terminal when each application is actually installed, so that a virtual running area can be formed by simulating a virtual running environment corresponding to the running environment of the standard application process of the Android system, and the function of reinstalling the Android system after the application is tried is achieved.
As shown in fig. 5, in another embodiment, step 102, simulating a virtual running environment corresponding to a standard application process runtime environment of an Android system as a virtual container, and starting the virtual container as a virtual running area includes:
and 1021, simulating a virtual running environment corresponding to the standard application process running time environment of the Android system through a hook technology to serve as a virtual container, and starting the virtual container to serve as a virtual running area.
hook technology refers to the technology of hijacking a call to a function in a computer program. The hook technique typically includes a gothook and an inline hook, the gothook referring to the manner in which the function is modified to reposition got tables in an ELF (Electronic Location Finder, electronic locator) repositionable file as the function runs; an inline hook refers to a function hook way to modify the called function start position instruction at runtime. And modifying a local Binder proxy object interacted with the Android system service when the standard application process of the Android system runs through a hook technology so as to simulate AMS (Activity Manager Service) system service/PMS (Package Manager Service) system service of the Android system and provide a virtual running environment corresponding to the standard application process running environment of the Android system. The virtual container is created through a hook technology, so that an operating environment supporting the application process to be free from test operation before real installation is provided.
As shown in fig. 6, in another embodiment, step 1021, simulating, by hook technology, a virtual running environment corresponding to a standard application process runtime environment of an Android system as a virtual container, and starting the virtual container as a virtual running area includes:
step 1023, starting a standard application process of the android system;
step 1025, replacing the local Binder proxy object interacted with the Android system service by a Java reflection mechanism, and redirecting the remote calling method of the proxy object to the customized virtual system service by a dynamic proxy technology to simulate a virtual running environment corresponding to the standard application process running environment of the Android system as a virtual container;
step 1027, starting the virtual container as a virtual running area.
The Java reflection mechanism refers to a function of knowing all the attributes and methods of any class and calling any method and attribute of any object in the running state, and the function of dynamically acquiring information and calling the object method is called Java reflection mechanism. And starting a standard application process of the Android system, redirecting a remote calling method of the proxied object to a user-defined virtual system service through a dynamic proxy technology, and simulating a virtual running environment corresponding to a standard application process running time environment of the Android system to serve as a virtual container, so that the virtual container can be created without acquiring system root rights.
As shown in fig. 7, in another embodiment, step 103, simulating a virtual running environment corresponding to a standard application process of the Android system as a virtual container, and before starting the step of starting the virtual container as a virtual running area, further includes:
and 1020, acquiring system rights, configuring an independent virtual storage space through the system rights, and taking the virtual storage space as a virtual running area.
By acquiring the establishment of an independent virtual storage space under the system authority as a virtual running area isolated from the real running environment of the terminal system, the application process to be installed can be installed in the virtual storage space to realize trial running. Because the virtual running area is isolated from the process running environment of the system service of the terminal, the safety risk is not generated; the application process does not need to be actually installed before the process is tried, but can be determined whether the application is needed or not through the real experience of the trial, and the application process which is really needed by the user is actually installed, so that the user can select the really wanted application process.
In another embodiment, as shown in fig. 8, step 103, the step of loading the code and the resource of the application according to the test run instruction into the virtual running area and analyzing the information description file of the application to obtain the starting information of the application includes:
step 1031, loading the codes of the application through the class loader according to the test run instruction, loading the resources by creating the application program resource manager, storing the codes and the resources of the application into the virtual running area, and analyzing the information description file of the application to obtain the starting information of the application.
In a specific embodiment, the mobile terminal is a commonly used Android system terminal, loads the code of the application through a class loader (DexClassLoader) of the Android system, and loads the resource through creating an application resource manager (AssetManager). Code and resources are loaded into the isolation space formed by the virtual run-time. The starting information is specifically page starting information of the application, and comprises a package name and a class name of an entry Activity of the application. And acquiring page starting information of the application by acquiring an information description file of the analysis application so as to start an application process in an isolation space formed by the virtual running area.
Preferably, step 105, forwarding the start information to the android system service through the virtual operation area, and starting and operating the application in the virtual operation area includes:
and 1051, performing parameter processing on the starting information through a virtual operation area, converting the starting information into an installed component which can be identified by an Android system, and forwarding the installed component to an Android system service, and starting and operating an application in the virtual operation area.
And performing parameter processing on the starting information through the virtual operation area, converting the starting information into an installed component which can be identified by the Android system, and forwarding the installed component to an Android system service, namely forwarding the starting information of the application process to the Android system service through a proxy mode, and finishing the starting of an application process page and the life cycle management of the component.
Preferably, step 105 forwards the start information to the android system service through the virtual operation area, and after the step of starting and operating the application in the virtual operation area, the method further includes:
and step 107, acquiring a running ending instruction, ending running according to the running ending instruction, and deleting codes and resources of the application from the virtual running area.
After the trial running of the application process is finished, automatically deleting the codes and the resources of the application from the virtual running area, and emptying the occupied memory space. Preferably, the codes and resources of the application are deleted from the virtual running area, and the temporary file cached to the disk during loading is deleted.
Referring to fig. 9, in another embodiment, step 105 forwards the start information to the android system service through the virtual running area, and after the step of starting and running the application in the virtual running area, the method further includes:
step 1081, acquiring an operation ending instruction, ending operation according to the operation ending instruction, and displaying a test operation result confirmation page;
step 1083, obtaining test run result confirmation information through the test run result confirmation page;
step 1084, when the test run result is confirmed to be yes, acquiring a confirmed installation instruction and installing the application according to the confirmed installation instruction;
step 1086, when the test run result confirms no or does not acquire the confirm installation instruction, deleting the code and resource of the application from the virtual run area.
The test run result confirmation page provides a user with a good evaluation of test experience of the test run application, improves suggested input information boxes and the like. After the trial running of the application process is finished, whether the corresponding application process is downloaded and installed is determined according to the experience result of the trial running, so that the application is based on the decision after the real experience before the real installation, the user is helped to select the really wanted application process, the effective distribution of the application process is improved, the risk of wrongly installing malicious application is avoided, and the safety is improved. After the trial running of the application process is finished, automatically deleting the codes and the resources of the application from the virtual running area, and emptying the occupied memory space. Preferably, the codes and resources of the application are deleted from the virtual running area, and the temporary file cached to the disk during loading is deleted.
Referring to fig. 10, taking an application process as an example of a cloud storage application, the cloud storage application may be specifically, for example, a hundred degree network disk, and before selecting to actually install the cloud storage application, the performance of the cloud storage application is known and mastered through trial, where the trial method of the cloud storage application includes the following steps: clicking a test operation button through an application interface to obtain a test operation instruction of the cloud storage application; starting a virtual container, and virtualizing AMS/PMS and other system services of an Android system through a hook technology, wherein the basic principle of the virtual container is to firstly start a standard application process of the Android system, replace a local Binder proxy object interacted with the Android system service through a java reflection technology, and redirect a remote calling method of the proxy object to a customized virtual system service through a dynamic proxy technology, so that a virtual running environment which runs with the standard application process corresponding to the system standard service is simulated to serve as the virtual container; loading codes and resources of the cloud storage application according to the test run instruction and storing the codes and resources into the virtual container; analyzing an information description file of the cloud storage application to obtain page starting information of the cloud storage application, wherein the information description file is specifically an android management file, and the page starting information specifically comprises a package name and a class name of an inlet Activity of the cloud storage application; the virtual container transmits the page starting information to the Android system service through a proxy mode to finish starting, so that the test program is entered. The function and the operation mode of the cloud storage application are actually known by running a test in the virtual running area, whether the storage application is required by the user or not can be accurately judged through the test, the installation or not is determined according to the test result, codes and resources of the cloud storage application in the virtual container are deleted, the occupied memory space is emptied, and the temporary file cached to the disk during loading is deleted. Referring to fig. 11, an acquiring operation ending instruction and an acquiring confirmation installation instruction may be acquired simultaneously, and when the test experience is better, an application interface may be clicked to end the test and install an operation button, so that the program directly enters an installation program after the test operation is ended, and codes and resources of the cloud storage application in the virtual container are deleted. In other embodiments, the test run ending instruction and the get confirmed installation instruction may be obtained in different steps, where the test run ending instruction is first obtained to end the test play, and then the get confirmed installation instruction is obtained according to whether the user has good test play experience evaluation instruction.
Referring to fig. 12, in another embodiment, an application process commissioning system is provided, which includes an obtaining module 10, an analyzing module 13, and a commissioning module 15. The acquiring module 10 is configured to acquire an application commissioning instruction. The analysis module 13 is used for loading the codes and resources of the application according to the test run instruction and storing the codes and resources into the virtual running area, and analyzing the information description file of the application to obtain the starting information of the application. The operation module 15 is configured to forward the start information to the system service through the virtual operation area, and start and operate an application in the virtual operation area.
In another embodiment, referring to FIG. 13, a container module 12 is also included. The container module 12 is configured to simulate a virtual running environment corresponding to a standard application process runtime environment of the Android system as a virtual container, and start the virtual container as a virtual running area.
Preferably, the container module 12 is specifically configured to simulate, by using a hook technology, a virtual running environment corresponding to a standard application process runtime environment of the Android system as a virtual container, and start the virtual container as a virtual running area.
Referring to fig. 14, in another embodiment, the container module 12 includes a process unit 121, a proxy unit 123, and an initiation unit 125. The process unit 121 is used for starting the standard application process of the android system. The proxy unit 123 is configured to replace a local Binder proxy object that interacts with the Android system service through a Java reflection mechanism, and redirect a remote invocation method of the proxy object to a customized virtual system service through a dynamic proxy technology, so as to simulate a virtual running environment corresponding to a standard application process runtime environment of the Android system as a virtual container. The starting unit 125 is used to start the virtual container as a virtual running area.
Referring to fig. 15, in another embodiment, a configuration module 120 is further included. The configuration module 120 is configured to configure an independent virtual storage space through system authority, and the virtual storage space is used as a virtual running area.
Preferably, the parsing module 13 is specifically configured to load a code of an application through a class loader according to a test run instruction, load a resource by creating an application resource manager, store the code and the resource of the application in a virtual running area, and parse an information description file of the application to obtain starting information of the application.
Preferably, the operation module 15 is specifically configured to process parameters of the starting information through a virtual operation area, convert the starting information into an installed component that can be identified by the Android system, forward the installed component to an Android system service, and start and operate the application in the virtual operation area.
Referring to fig. 16, in another embodiment, a deletion module 17 is further included. The deletion module 17 is configured to obtain an operation ending instruction, end operation according to the operation ending instruction, and delete the code and the resource of the application from the virtual operation area.
According to the application process trial system, the running environment of the application in the mobile terminal in running is simulated through the virtual running area, and the installation package of the downloaded application is used in the virtual running area, so that the security risk is not generated because the virtual running area is isolated from the process running environment of the system service of the terminal; the application process does not need to be actually installed before the process is tried, whether the application is needed or not can be determined through the true experience of the trial, and the application process which is really needed by the user is actually installed, so that the effective distribution is improved, and the potential safety hazard is reduced.
Preferably, the device further comprises an ending module, a confirmation module, an installation module and a cleaning module. The ending module is used for acquiring an operation ending instruction, ending the operation according to the operation ending instruction and displaying a test operation result confirmation page. The confirmation module is used for acquiring confirmation information of the test operation result through the confirmation page of the test operation result. And the installation module is used for further acquiring an installation confirmation instruction and installing the application according to the installation confirmation instruction when the test operation result is confirmed to be yes. And the cleaning module is used for deleting codes and resources of the application from the virtual running area when the test running result confirms whether the installation confirmation instruction is acquired or not.
After the trial running of the application process is finished, whether the corresponding application process is downloaded and installed is determined according to the experience result of the trial running, so that the application is based on the decision after the real experience before the real installation, the user is helped to select the really wanted application process, the effective distribution of the application process is improved, the risk of wrongly installing malicious application is avoided, and the safety is improved. After the trial running of the application process is finished, automatically deleting the codes and the resources of the application from the virtual running area, and emptying the occupied memory space. Preferably, when the codes and the resources of the application are deleted from the virtual running area, the cleaning module is further used for simultaneously deleting the temporary file cached to the disk during loading.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in accordance with the embodiments may be accomplished by way of a computer program stored on a computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
The foregoing examples set forth only a few embodiments of the present invention and are described in more detail, but are not to be construed as limiting the scope of the invention. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the invention, which are all within the scope of the invention.

Claims (10)

1. An application process trial method, wherein the method is applied to a terminal and comprises the following steps:
acquiring an application test run instruction;
starting a standard application process of the android system;
replacing a local Binder proxy object interacted with an Android system service through a Java reflection mechanism, redirecting a remote calling method of the proxy object to a self-defined virtual system service through a dynamic proxy technology, and simulating a virtual running environment corresponding to a standard application process running environment of an Android system to serve as a virtual container; the Java reflection mechanism refers to a function which can determine all attributes and methods of any class in a running state and can call any method and attribute of any object;
starting the virtual container as a virtual running area;
loading codes and resources of the application from an installation package of the application process according to the test running instruction, storing the codes and resources into the virtual running area, analyzing an information description file of the application to obtain starting information of the application, wherein each application process is realized by the codes, the resources are used for running the application process, and the virtual running area is: simulating a virtual running environment corresponding to a standard application process running time environment of an Android system through a hook technology, wherein the hook technology is used for providing a running environment supporting the application process to be free from real installation and run in advance;
and forwarding the starting information to a system service through the virtual operation area, starting the application in the virtual operation area and operating the application, wherein the virtual operation area is isolated from the real operation environment of the terminal system.
2. The application process trial method of claim 1, wherein: before the step of loading the codes and the resources of the application according to the test run instruction and storing the codes and the resources of the application in a virtual running area and analyzing the information description file of the application to obtain the starting information of the application, the method further comprises the following steps:
and configuring an independent virtual storage space through system authority, and taking the virtual storage space as a virtual running area.
3. The application process trial method of claim 1 or 2, wherein: the step of loading the codes and the resources of the application according to the test run instruction and storing the codes and the resources into a virtual running area and analyzing the information description file of the application to obtain the starting information of the application comprises the following steps:
loading codes of the application through the class loader according to the test run instruction, loading resources through creating an application program resource manager, storing the codes and the resources of the application into a virtual running area, and analyzing an information description file of the application to obtain starting information of the application.
4. The application process trial method of claim 1 or 2, wherein: the step of forwarding the starting information to a system service through the virtual operation area, and starting the application and operating in the virtual operation area comprises the following steps:
and carrying out parameter processing on the starting information through the virtual operation area, converting the starting information into an installed component which can be identified by an Android system, and forwarding the installed component to Android system service, and starting and operating the application in the virtual operation area.
5. The application process trial method of claim 1 or 2, wherein: the step of forwarding the start information to a system service through the virtual operation area, after the step of starting and operating the application in the virtual operation area, further includes:
and acquiring an operation ending instruction, ending the operation according to the operation ending instruction, and deleting codes and resources of the application from the virtual operation area.
6. An application process trial system, the system being applied to a terminal, comprising:
the acquisition module is used for acquiring an application test running instruction;
the container module includes: the device comprises a process unit, a proxy unit and a starting unit;
the process unit is used for starting a standard application process of the android system;
the proxy unit is used for replacing a local Binder proxy object interacted with the Android system service through a Java reflection mechanism, redirecting a remote calling method of the proxy object to a customized virtual system service through a dynamic proxy technology, and simulating a virtual running environment corresponding to a standard application process running environment of the Android system to serve as a virtual container; the Java reflection mechanism refers to a function which can determine all attributes and methods of any class in a running state and can call any method and attribute of any object;
the starting unit is used for starting the virtual container to serve as a virtual running area;
the analysis module is used for loading codes and resources of the application from an installation package of the application process according to the test running instruction, storing the codes and resources into a virtual running area, analyzing an information description file of the application to obtain starting information of the application, each application process is realized by the codes, the resources are used for running the application process, and the virtual running area is: simulating a virtual running environment corresponding to a standard application process running time environment of an Android system through a hook technology, wherein the hook technology is used for providing a running environment supporting the application process to be free from real installation and run in advance;
and the operation module is used for forwarding the starting information to a system service through the virtual operation area, starting the application in the virtual operation area and operating the application, wherein the virtual operation area is isolated from the real operation environment of the terminal system.
7. An application process trial system as claimed in claim 6, wherein: the system also comprises a configuration module which is used for configuring an independent virtual storage space through the system authority and taking the virtual storage space as a virtual running area.
8. An application process trial system as claimed in claim 6 or 7, wherein: the analysis module is specifically used for loading codes of the application through the class loader according to the test run instruction, loading resources by creating an application program resource manager, storing the codes and the resources of the application into a virtual running area, and analyzing an information description file of the application to obtain starting information of the application.
9. An application process trial system as claimed in claim 6 or 7, wherein: the operation module is specifically configured to process parameters of the starting information through the virtual operation area, convert the starting information into an installed component that can be identified by the Android system, and forward the installed component to Android system service, and start and operate the application in the virtual operation area.
10. An application process trial system as claimed in claim 6 or 7, wherein: the system also comprises a deleting module which is used for acquiring an operation ending instruction, ending the operation according to the operation ending instruction and deleting the codes and the resources of the application from the virtual operation area.
CN201710065906.5A 2017-02-06 2017-02-06 Application process trial method and system Active CN108399331B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710065906.5A CN108399331B (en) 2017-02-06 2017-02-06 Application process trial method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710065906.5A CN108399331B (en) 2017-02-06 2017-02-06 Application process trial method and system

Publications (2)

Publication Number Publication Date
CN108399331A CN108399331A (en) 2018-08-14
CN108399331B true CN108399331B (en) 2023-05-05

Family

ID=63093898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710065906.5A Active CN108399331B (en) 2017-02-06 2017-02-06 Application process trial method and system

Country Status (1)

Country Link
CN (1) CN108399331B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002707A (en) * 2018-08-31 2018-12-14 国鼎网络空间安全技术有限公司 The device and method of Android application configuration and data sharing based on virtual container
CN109669738B (en) * 2018-12-29 2019-12-03 北京明朝万达科技股份有限公司 A kind of starting method and device of application program
CN110045998B (en) * 2019-04-22 2021-07-16 腾讯科技(深圳)有限公司 Method and device for loading dynamic library
CN112473147A (en) * 2019-09-12 2021-03-12 厦门雅基软件有限公司 Game trial playing method, cloud device, terminal device and storage medium
CN112199151B (en) * 2020-09-07 2023-10-24 成都安易迅科技有限公司 Application program running method and device
CN112953721B (en) * 2021-01-28 2023-04-14 浪潮通用软件有限公司 IPA file analysis method, IPA file analysis device, IPA file analysis equipment and storage medium
CN114579254A (en) * 2022-03-02 2022-06-03 科东(广州)软件科技有限公司 System calling method and device of microkernel virtualization operating system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331946A (en) * 2011-09-28 2012-01-25 宇龙计算机通信科技(深圳)有限公司 Method and system for installing application program
WO2012044829A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc User interaction across cross-environment applications through an extended graphics context
CN104375861A (en) * 2014-11-04 2015-02-25 北京奇虎科技有限公司 Installation-free operation method and device for application programs based on Android platform and terminal
CN105094922A (en) * 2015-08-17 2015-11-25 北京奇虎科技有限公司 Application installation-free operation control method and device
CN105427096A (en) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 Payment security sandbox realization method and system and application program monitoring method and system
CN106096395A (en) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 A kind of protection treating method and apparatus of Android application

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044829A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc User interaction across cross-environment applications through an extended graphics context
CN102331946A (en) * 2011-09-28 2012-01-25 宇龙计算机通信科技(深圳)有限公司 Method and system for installing application program
CN104375861A (en) * 2014-11-04 2015-02-25 北京奇虎科技有限公司 Installation-free operation method and device for application programs based on Android platform and terminal
CN105094922A (en) * 2015-08-17 2015-11-25 北京奇虎科技有限公司 Application installation-free operation control method and device
CN105427096A (en) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 Payment security sandbox realization method and system and application program monitoring method and system
CN106096395A (en) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 A kind of protection treating method and apparatus of Android application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈莉君等.Android进程间通信Binder扩展模型的设计与实现.《西安邮电大学学报》.2013,(第03期),全文. *

Also Published As

Publication number Publication date
CN108399331A (en) 2018-08-14

Similar Documents

Publication Publication Date Title
CN108399331B (en) Application process trial method and system
JP7018463B2 (en) Managing the delivery of code and dependent data using the application container
US11467816B1 (en) Method and system of running an application
CN110413288B (en) Application deployment method, device, server and storage medium
KR101793306B1 (en) Virtual application extension points
CN104063239B (en) Application program update method and server, the client of mobile terminal
CN106528210B (en) A kind of operation method and device of application program
CN110945480A (en) System and method for updating and loading applications
US20210337015A1 (en) Method and system of application development for multiple device client platforms
CN106406961A (en) Method and device for loading and providing application based on browser
CN109525584B (en) Method for constructing mobile end cross-platform multi-type application container
US20220261120A1 (en) Augmenting web applications with optimized workflows supporting user interaction
CN106230977B (en) A kind of client functionality loading method, system, client and server-side
CN104348919A (en) Method and device for downloading file and browser
US20160314021A1 (en) Enhanced command selection in a networked computing environment
CN110865840B (en) Application management method, device, server and storage medium
CN108563472B (en) Service plug-in loading method and device based on multi-open application
CN114372256A (en) Application program running method, device, equipment and storage medium
CN106598662A (en) Application loading method and device based on android
CN113485722A (en) Application program shelf loading method and processing method for application store and computer equipment
CN106775879B (en) VR application installation-free method and system based on android system client
CN114860203A (en) Project creation method, project creation device, server and storage medium
CN111124523A (en) Method and apparatus for initializing applications
CN106325923A (en) Method and device for managing function plugins
CN114662102A (en) File processing method and device and storage medium

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