CN111492345A - Method for optimizing and running android application program and related device - Google Patents

Method for optimizing and running android application program and related device Download PDF

Info

Publication number
CN111492345A
CN111492345A CN201880079787.1A CN201880079787A CN111492345A CN 111492345 A CN111492345 A CN 111492345A CN 201880079787 A CN201880079787 A CN 201880079787A CN 111492345 A CN111492345 A CN 111492345A
Authority
CN
China
Prior art keywords
file
apk
target
android application
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880079787.1A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111492345A publication Critical patent/CN111492345A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application provides a method and a related device for optimizing and running an android application program. In the technical scheme provided by the application, a server optimizes a file to be optimized in a source APK of an android application program and sends a target APK to a terminal device, wherein the target APK comprises a target optimization file obtained by optimizing the file to be optimized; after the terminal device receives the target APK, the android application program can be operated according to the target optimization file in the target APK. According to the technical scheme, the APK is optimized by the server, so that the optimized android application program can be operated by the terminal equipment, the operating efficiency of the android application program is improved, the operation burden of the terminal equipment can be reduced, and the user experience can be improved.

Description

Method for optimizing and running android application program and related device Technical Field
The present application relates to the field of applications, and more particularly, to a method of optimizing an android Application (APP), an apparatus for running an APP, a server, a terminal device, and a computer-readable storage medium.
Background
At present, the publishing and installation modes of android applications mainly include: a developer submits an Android Package (APK) of an application program to an application market; and the user downloads the APK of the android application program from the application market through the terminal equipment.
After the terminal device downloads the APK of the android application program, the android application program can be optimized when the android application program is installed or operated.
For example, if an android virtual machine (Dalvik or ART) is installed on the terminal device, when the android virtual machine starts running or installs an android application, the bytecode in the horizontal file in the APK of the android application is compiled and converted into machine code that can be directly and quickly executed by a Central Processing Unit (CPU) of the terminal device through technologies such as just-in-time (JIT) or advanced-of-time (AOT).
However, optimizing the android application by the terminal device increases the operation load of the terminal device, thereby affecting the user experience. Therefore, how to reduce the operation burden of the terminal device is a technical problem that needs to be solved urgently.
Disclosure of Invention
The application provides a method for optimizing an android application program, a method for running the android application program, a server, a terminal device, a computer readable storage medium, a computer program product and a chip system, which can reduce the running burden of the terminal device, thereby improving the user experience.
In a first aspect, a method of optimizing an android application is provided. The method comprises the following steps: the method comprises the steps that a server optimizes a file to be optimized in a source APK of an android application program to obtain a target optimization file corresponding to the file to be optimized; and the server sends a target APK of the android application program to the terminal equipment, wherein the target APK comprises a target optimization file.
In the method, the server is used for optimizing the APK of the android application program, so that the terminal equipment can download the optimized APK of the android application program from the server. Therefore, the terminal equipment can optimize the APK of the android application program without the terminal equipment, so that the operation burden of the terminal is reduced, and the user experience can be improved.
Moreover, the android application program is optimized by the server, so that when the optimization is improved, only the optimization tool on the server needs to be updated, and the software version of the terminal equipment does not need to be upgraded one by one.
With reference to the first aspect, in a first possible implementation manner, the target APK further includes the file to be optimized.
By the implementation mode, when the terminal equipment cannot operate the android application program according to the target optimization file or fails to operate the android application program according to the target optimization file, the optimization file can be automatically optimized and the android application program can be operated according to the file obtained by self optimization, so that the operation success rate of the android application program can be improved.
With reference to the first aspect or the first possible implementation manner, in a second possible implementation manner, the file to be optimized includes a dex file, and the dex file is an executable file in an android virtual machine.
With reference to the first aspect or the first or second possible implementation manner, in a third possible implementation manner, the file to be optimized includes a library file.
With reference to the first aspect or any one of the foregoing possible implementation manners, in a fourth possible implementation manner, at least one of a Maple toolchain, a bottom layer virtual machine LL VM toolchain, and an advanced AOT compilation optimization toolchain is deployed on a server, and the server optimizes a file to be optimized in a source APK of an android application, including that the server optimizes the file to be optimized in the source APK by using an optimization toolchain in the at least one optimization toolchain.
The server may use each deployed optimization tool chain to optimize the files to be optimized in the source APK, may also use part of the deployed optimization tool chains to optimize the files to be optimized in the source APK, or may use all or part of the deployed optimization tool chains to optimize the files to be optimized in the source APK in sequence.
With reference to the first aspect or any one of the foregoing possible implementation manners, in a fifth possible implementation manner, before the server sends the target APK of the android application to the terminal device, the method further includes: the server receives a request message for requesting downloading of the android application program from the terminal device.
In a second aspect, a method of running an android application is provided. The method comprises the following steps: the method comprises the steps that terminal equipment receives a target APK of an android application program from a server, wherein the target APK comprises a first target optimization file obtained by optimizing a file to be optimized in a source APK of the android application program; and the terminal equipment runs an android application program according to the first target optimization file in the target APK.
In the method, the APK downloaded by the terminal device from the server is the optimized APK of the android application program, so that the terminal device can operate the optimized android application program without optimizing the android application program by the terminal device. This can reduce the operation load of the terminal device.
With reference to the second aspect, in a first possible implementation manner, the target APK further includes a file to be optimized.
By the implementation mode, when the terminal equipment cannot operate the android application program according to the target optimization file or fails to operate the android application program according to the target optimization file, the optimization file can be automatically optimized and the android application program can be operated according to the file obtained by self optimization, so that the operation success rate of the android application program can be improved.
With reference to the first possible implementation manner, in a second possible implementation manner, the method further includes: the terminal equipment determines whether the android application program needs to be operated according to the first target optimization file in the target APK; the terminal device runs the android application program according to the first target optimization file in the target APK, and the method comprises the following steps: when the terminal equipment determines that the android application program needs to be operated according to the first target optimization file in the target APK, the android application program is operated according to the first target optimization file in the target APK; the method further comprises the following steps: when the terminal device determines that the android application program does not need to be operated according to the first target optimization file in the target APK, the terminal device optimizes the file to be optimized in the target APK to obtain a second target optimization file; and the terminal equipment operates the android application program according to the second target optimization file.
For example, the terminal device does not run the android application program according to the target optimization file, or when the terminal device fails to run the android application program according to the target optimization file in the target APK, the terminal device may automatically optimize the file to be optimized, and run the android application program according to the file obtained through optimization.
Therefore, the operation success rate of the android application program can be improved.
With reference to the second aspect or any one of the foregoing possible implementation manners, in a third possible implementation manner, the file to be optimized includes a dex file, and the dex file is an executable file in an android virtual machine.
With reference to the second aspect or any one of the foregoing possible implementation manners, in a fourth possible implementation manner, the file to be optimized includes a library file.
With reference to the second aspect or any one of the foregoing possible implementation manners, in a fifth possible implementation manner, before the terminal device receives the target APK of the android application from the server, the method further includes: and the terminal equipment sends a request message for requesting downloading of the android application program to the server.
In a third aspect, an apparatus for optimizing an android application is provided, the apparatus comprising means for performing the method of the first aspect or any one of the possible implementations of the first aspect.
One example of such a device is a server.
In a fourth aspect, there is provided an apparatus for running an android application, the apparatus comprising means for performing the method of the second aspect or any one of the possible implementations of the second aspect.
One example of the apparatus is a terminal device.
In a fifth aspect, there is provided an apparatus for optimizing an android application, the apparatus comprising a processor and a transmitter, the processor being configured to execute a program, and when the processor executes the program, the processor and the transmitter implementing the first aspect or the method in any one of the possible implementations of the first aspect.
Optionally, the apparatus may further comprise a memory. The memory is used for storing programs executed by the processor.
Optionally, the apparatus may further comprise a receiver. The receiver is used for receiving messages or data sent by other devices or apparatuses.
An example of such a device is a server, such as a computer.
In a sixth aspect, there is provided an apparatus for running an android application, the apparatus comprising a processor and a receiver, the processor being configured to execute a program, the processor and the receiver implementing the method of the second aspect or any one of the possible implementations of the second aspect when the processor executes the program.
Optionally, the apparatus may further comprise a memory. The memory is used for storing programs executed by the processor.
Optionally, the apparatus may further comprise a transmitter. The transmitter is used to transmit messages or data to other devices or apparatuses.
One example of the apparatus is a terminal device.
In a seventh aspect, a computer-readable storage medium is provided that stores program code for execution by a computing device, the program code comprising instructions for implementing the first aspect or the method in any one of its possible implementations.
In an eighth aspect, there is provided a computer readable storage medium storing program code for execution by a computing device, the program code comprising instructions for implementing the method of the second aspect or any one of its possible implementations.
In a ninth aspect, a chip is provided, the chip comprising a processor and a communication interface, the communication interface being configured to communicate with an external device, the processor being configured to implement the method of the first aspect or any one of the possible implementations of the first aspect.
Optionally, the chip may further include a memory, the memory having instructions stored therein, and the processor being configured to execute the instructions stored in the memory, and when the instructions are executed, the processor being configured to implement the first aspect or the method in any one of the possible implementations of the first aspect.
Alternatively, the chip may be integrated on a server.
A tenth aspect provides a chip comprising a processor and a communication interface, the communication interface being configured to communicate with an external device, the processor being configured to implement the method of the second aspect or any one of the possible implementations of the second aspect.
Optionally, the chip may further include a memory, the memory storing instructions therein, and the processor being configured to execute the instructions stored in the memory, and when the instructions are executed, the processor being configured to implement the second aspect or the method in any one of the possible implementations of the second aspect.
Alternatively, the chip may be integrated on the terminal device.
In an eleventh aspect, embodiments of the present application provide a computer program product containing instructions, which when run on a computing apparatus or computing device, cause the computing apparatus or computing device to perform the method of the first aspect.
In a twelfth aspect, embodiments of the present application provide a computer program product containing instructions, which when run on a terminal device, cause a computing apparatus or a computing device to execute the method of the second aspect.
Drawings
FIG. 1 is a schematic flow diagram of an android application from development to run;
FIG. 2 is a schematic flow chart diagram of a method for optimizing an android application of an embodiment of the present application;
FIG. 3 is a schematic composition diagram of an optimized APK of an embodiment of the present application;
FIG. 4 is a schematic flow chart diagram of a method of running an android application of one embodiment of the present application;
FIG. 5 is a schematic block diagram of an apparatus for optimizing an android application according to an embodiment of the present application;
FIG. 6 is a schematic block diagram of an apparatus for running an android application according to another embodiment of the present application;
FIG. 7 is a schematic block diagram of an apparatus for optimizing an android application according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an apparatus for running an android application according to another embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
FIG. 1 is a schematic flow diagram of an android application from development to run. As shown in fig. 1, after the development device develops the APK of the android application, the developer may publish the APK to the application market. The terminal equipment can download the APK of the android application program from the application market, and install the android application program and operate the android application program according to the APK.
The android application program may also be referred to simply as an android application. After the developer writes the android application, the developer needs to compile the code of the android application, together with any data and resource files, into a file that can be recognized by the android operating system through an android Software Development Kit (SDK) tool. The file format that can be recognized and run by the android operating system is APK.
The application market in the embodiment of the present application, also referred to as an application STORE (APP STORE), is an electronic application STORE that provides a fee (or free) game or application download service for mobile devices, such as mobile phones and tablet computers. After the android application program developer publishes the APK of the android application program to the application market, the application market can perform operations such as storage, management and detection on the APK, and therefore a channel for publishing the android application program is provided for the application developer or an application development company. The application marketplace may be deployed on a server. An example of a server is a computer. The server may be a cloud server. The cloud server may also be referred to as a cloud, and the terminal device may be referred to as an end side.
The terminal device in the embodiment of the present application may refer to a user device, a mobile device, a user terminal, a wireless communication device, a handheld device with a communication function, a computing device or a vehicle-mounted device, a wearable device, and a routing device.
For example, the terminal device in the embodiment of the present application may be a smart phone, a netbook, a tablet computer, a personal computer, a notebook computer, a television, a digital video converter box (also called a set-top box), an electronic book, an MP3 player, an MP4 player, a handheld game console, a home game console, an electronic watch, an electronic radio, an earphone, an automobile device, a navigator, a DVD player, a smart speaker, a smart home device, and other devices. The specific form of the terminal device is not limited in the embodiment of the application, and any device capable of running the android application program falls within the scope of the terminal device in the embodiment of the application.
The terminal device and the server (i.e. the application market) can communicate in a wireless or wired manner.
When the terminal equipment installs the android application program or runs the android application program, the android application program can be optimized.
For example, if an android virtual machine (Dalvik or ART) is installed on the terminal device, when the android virtual machine is started to run or installs an android application program, the bytecode in the dex file in the APK of the android application program is compiled and converted into machine code that can be directly and quickly executed on the CPU of the terminal device through techniques such as JIT or AOT.
The optimization of the android application program by the terminal equipment can increase the operation burden of the terminal equipment. Aiming at the problem, the application provides a method for optimizing an android application program and a method for running the android application program, so that the running load of terminal equipment is reduced, and the user experience is improved.
In the method for optimizing the android application program, a set of APK optimization framework deployed in an application market (server) can be constructed. The framework can be inserted with various optimization tools or optimization tool chains of APK. Or, the method provided by the application can optimize the android application program on the server side.
In the embodiment of the present application, the optimization of the android application may refer to adjusting and improving the android application (for example, the APK of the android application) by using a software tool. According to different optimization points, the optimization of the android application program can be divided into operation speed and efficiency optimization and code size optimization.
The optimization of the running speed and the efficiency means that on the basis of fully mastering the characteristics of software and hardware, the number of codes or instructions required to be executed for completing the specified task is reduced by means of compiling optimization of the front end and the rear end of a compiler and the like, the execution efficiency for completing the specified task is improved, or the program running memory is reduced, or both the codes and the instructions are considered. On the same processor, the application program with optimized running speed needs shorter time for completing the specified task than the application program without optimization, namely the former has higher running efficiency than the latter.
The code size optimization means that the code amount or the number of redundant instructions of the application program is reduced as much as possible by compiling and optimizing the compiler on the premise that the application program can correctly complete the required functions, and the final code volume occupation is reduced.
That is to say, the code amount of the optimized android application program is less than the code amount of the android application program before optimization, and/or the number of instructions corresponding to the optimized android application program is less than the number of instructions corresponding to the optimized android application program before optimization, and/or less memory is consumed during the operation of the optimized android application program.
For example, a Maple toolchain optimized for dex files in APK can be inserted into the APK optimization framework on the server. The Maple toolchain can directly compile dex byte codes in the APK into binary machine codes executable by the target machine, and pack the binary machine codes into a static SO file. And the Maple tool chain can reduce the instruction number through a specific algorithm during the compiling conversion so as to improve the program operation efficiency.
For another example, an APK optimization framework on the server may deploy LL VM compiler tool chain (LL VM) — LL VM may optimize the SO library file in the APK, or, in conjunction with the Maple tool chain, perform intermediate code (IR) optimization on the dex file to reduce the number of instructions, thereby improving the program operation efficiency.
LL VM is a framework system for building a compiler (compiler), written in C + +, for optimizing compile-time, link-time, run-time, and idle-time of programs written in any programming language.
For another example, various AOT (Ahead-of-time) compilation optimization tools may be deployed in the APK optimization framework in the server, for example: OpenJDK AOT, Angular AOT compiler, or Android ART. The AOT compiling and optimizing tool can perform AOT compiling and optimizing on programs or byte codes in the APK so as to reduce the number of instructions and improve the running efficiency of the programs.
The above tools or tool chains for optimizing various applications are only examples, and other optimization tools or tool chains can be deployed in the APK optimization framework on the server according to the development requirements of the APK.
In the method for running the android application program, the end side can download the optimized android application program from an application market, and install the optimized android application program into the end side device.
For example, the peer side may download the optimized APK from the application market and install the optimized APK into the peer side device.
According to the android application program running method, a runtime environment capable of executing the android application program optimized by the server can be constructed on the end side. For example, a flow for directly executing the optimized file in the APK may be added to the end-side android application program running flow. Thus, when the application program is started at the end side, the optimized file can be loaded so as to run the optimized android application program.
Optionally, a switch for switching the terminal device to execute the android application program before the application market optimization and the android application program after the application market optimization can be further constructed on the end side. In this way, the end-side may select either the APK before performing the non-optimization or the APK after performing the optimization.
When the APK before optimization is selected and executed by the end side, the APK can be optimized at the end side, and the file obtained by optimization at the end side is executed, so that the aim of improving the operation efficiency is fulfilled. That is, the end side may also be compatible with the original optimization mode.
FIG. 2 is a schematic flow chart diagram of a method for optimizing an android application, according to an embodiment of the application. It should be understood that fig. 2 shows steps or operations of the method, but these steps or operations are only examples, and the embodiments of the present application may also perform other operations or variations of the respective operations in fig. 2.
S202, the server optimizes the file to be optimized in the source APK of the android application program to obtain a target optimization file corresponding to the file to be optimized.
Wherein, the server can be understood as an application market, and the source APK of the android application program can refer to an APK issued or uploaded to the server by a developer.
The source APK includes a file to be optimized. The file to be optimized may be understood as a file that needs to be optimized, such as a dex file and/or a library file (library).
The code amount of the target optimization file is less than that of the file to be optimized, and/or the instruction number corresponding to the target optimization file is less than that of the file to be optimized.
The file to be optimized and the target optimization file may be in one-to-one correspondence.
And S204, the server sends the target APK of the android application program to the terminal equipment, wherein the target APK comprises a target optimization file obtained by server optimization.
The target APK of the android application program is the APK obtained by optimizing the source APK by the server. The target APK comprises a target optimization file obtained after the optimization of the file to be optimized. For example, the target APK includes a target optimization file obtained by optimizing the dex file, and/or includes a target optimization file obtained by optimizing the library file.
Less memory resources can be consumed when the optimized android application program runs.
In the embodiment of the application, the source APK of the android application program is optimized by the server, and the optimized target APK is sent to the terminal equipment, so that the terminal equipment does not need to optimize the android application program, the operation burden of the terminal equipment can be reduced, and finally the user experience can be improved.
Before executing the method shown in fig. 2, the source APK of the android application has been published or uploaded to the server (or application marketplace).
Before executing the method shown in fig. 2, a software tool for optimizing the APK of the android application should be deployed or installed on the server (or application market). A series of software tools or software modules that optimize the APK of an android application may be referred to as an optimization tool chain.
That is, in S202, the server optimizes the source APK of the android application through the optimization tool chain, so as to obtain the target APK of the android application. Specifically, the server optimizes the file to be optimized in the source APK through an optimization tool chain, so as to obtain the target optimization file in the target APK.
In this case, the server optimizing the source APK of the android application can include the server optimizing a file to be optimized in the source APK by using the optimization tool chain in the at least one optimization tool chain.
In the optimization method of the embodiment of the application, when the server optimizes the APK of the android application, in some possible implementation manners, the server may optimize the APK of the android application by using a plurality of optimization tool chains deployed on the server to obtain a plurality of target APKs, the plurality of optimization tool chains are in one-to-one correspondence with the plurality of target APKs, and each target APK is obtained by optimizing the source APK by using the optimization tool chain corresponding to the target APK.
For example, if four optimization tool chains, namely a maple tool chain, a Java tool chain, an AOT tool chain, and an LL VM tool chain, are deployed on the server, the server optimizes a source APK of an android application program by using the four optimization tool chains to obtain four target APKs, which correspond to the four optimization tool chains one to one.
For example, the first of the four target APKs is optimized by the server using the maple toolchain for the source APK, the second of the four APKs is optimized by the server using the Java toolchain for the source APK, the third of the four target APKs is optimized by the server using the AOT toolchain for the source APK, and the fourth of the four target APKs is optimized by the server using the LL VM toolchain for the source APK.
When the server optimizes the APK, in other possible implementation manners, the source APK may also be optimized by combining multiple optimization tool chains, and finally a target APK is generated.
For example, an optimized file obtained by optimizing a file to be optimized in the source APK through the Maple toolchain may be used as an input of the LL VM toolchain, and an optimized target file is obtained after optimizing the file through the LL VM toolchain.
When the server optimizes the APK, in other possible implementation manners, the server row may preset an optimization policy, and select one or more optimization tool chains deployed on the server according to the optimization policy to optimize the source APK. The optimization policy includes rules for which tool chains are called by the server application to optimize the file to be optimized in the source APK. The optimization strategy can be input into the server after being specified by an optimization strategy maker, or can be a strategy generated by a machine through an Artificial Intelligence (AI) algorithm and used as the server optimization strategy.
In the optimization method of the embodiment of the application, the server may add the path information of the target optimization file in the configuration file of the source APK to obtain a new configuration file, and include the new configuration file in the target APK, so that the terminal device may obtain the target optimization file according to the path information.
Optionally, the server may configure a flag in the configuration file or other file of the target APK, and indicate that the target APK is an optimized APK including the target optimization file.
In the method of the embodiment of the application, in some possible implementation manners, after the server optimizes the source APK, the obtained target APK may include a file to be optimized in the source APK, a file other than the file to be optimized, and a target optimized file obtained by optimizing the file to be optimized. That is, the target APK may include all files in the source APK and the optimized target optimized file.
For example, if the source APK includes a resource file (resource), a configuration file, and a dex file, the server optimizes the dex file, and the obtained target APK may include a file obtained by optimizing the resource file, the configuration file, the dex file, and the dex file. The dex file is a file to be optimized, a file obtained after the dex file is optimized is a target optimization file, and the target optimization file can include machine codes obtained through optimization.
For example, as shown in fig. 3, the APK of an android application published by a developer to the application marketplace includes resource files, dex files, and library files (library). It should be understood that other relevant files may also be included in the APK.
The target APK obtained after the server optimizes the dex file and the library file may include a resource file, a configuration file, a dex file, a library file before optimization, a file obtained after the dex file is optimized, and a library file obtained after optimization. The dex file is a file to be optimized, the file obtained after the dex file is optimized and the library file obtained after the dex file is optimized are target optimization files, the target optimization files can comprise machine codes obtained through optimization, and the library file obtained after the optimization has fewer instructions compared with the library file before the optimization.
If the dex file and the library file are to-be-optimized files, optimizing the dex file and the library file by using an optimization tool chain in the market to obtain a target optimization file corresponding to the dex file and a target optimization file corresponding to the library file.
In this case, the target APK sent by the application market to the terminal device may include a file in the source APK, a target optimization file corresponding to the dex file, and a target optimization file corresponding to the library file.
According to the implementation mode, even if the terminal equipment cannot directly execute the optimized file in the APK, the terminal equipment can optimize the file to be optimized in the source APK and execute the target optimized file obtained after optimization, so that the android application program can be normally started.
In the method of the embodiment of the application, in other possible implementation manners, after the server optimizes the source APK, the obtained target APK may only include files other than the file to be optimized in the source APK and the target optimized file obtained by optimizing the file to be optimized. That is, the target APK may not include the file to be optimized in the source APK.
For example, the APK issued by the developer to the server includes a resource file (resource), a configuration file, and a dex file, where the dex file is a file to be optimized, and the target APK obtained after the server optimizes the dex file may include the resource file, the configuration file, and a target optimization file corresponding to the dex file.
This possible implementation may reduce the size of the target APK compared to the previous possible implementation.
In the method according to the embodiment of the present application, optionally, before S201, the method may further include: the server receives a message for requesting downloading of the android application from the terminal device. Namely, the server sends the target APK of the android application program to the terminal device after receiving the request for downloading the android application program sent by the terminal device.
Fig. 4 is a schematic flow chart of a method for running an android application in one embodiment of the present application. It should be understood that fig. 4 shows steps or operations of the method, but these steps or operations are only examples, and other operations or variations of the operations in fig. 4 may also be performed by the embodiments of the present application.
S402, the terminal device receives a target APK of the android application program from the server, wherein the target APK comprises a target optimization file obtained by optimizing a file to be optimized in a source APK of the android application program.
Or, the terminal device downloads the target APK of the android application from the server.
The server can be understood as an application market, the source APK of the android application program can refer to an APK issued or uploaded to the server by a developer, and the target APK of the android application program can refer to an APK obtained by optimizing the source APK by the server.
The source APK includes a file to be optimized. The file to be optimized may be understood as a file that needs to be optimized, such as a dex file and/or a library file (library). The target APK includes a target optimization file obtained by optimizing a file to be optimized, for example, a file obtained by optimizing a dex file and/or a library file is a target optimization file. The file to be optimized and the target optimization file may be in one-to-one correspondence.
The code amount of the target optimization file is less than that of the file to be optimized, and/or the instruction number corresponding to the target optimization file is less than that of the file to be optimized.
S404, the terminal device runs an android application program according to the target optimization file in the target APK.
Before the terminal device runs the android application program according to the target APK, a runtime environment capable of directly loading the target optimization file from the target APK is deployed on the terminal device.
In the method of the embodiment of the application, the APK downloaded by the terminal equipment from the server is optimized, so that the terminal equipment does not need to optimize the APK by self, the burden of the terminal equipment can be reduced, and the user experience can be improved.
For convenience of description, in the embodiment of the present application, a target optimization file obtained by optimizing a file to be optimized in a source APK by a server is referred to as a first target optimization file.
When the terminal device runs an android application program according to a first target optimization file in a target APK, one implementation manner may include: and reading the target optimization file according to the path information of the first target optimization file recorded in the configuration file, and then operating the first target optimization file.
Optionally, the terminal device may first determine whether the APK downloaded from the application market by the terminal device is the optimized target APK, or, the terminal device may first determine whether the APK downloaded from the application market by the terminal device includes the first target optimization file. If so, the first target optimization file can be read and run.
In the method of the embodiment of the application, optionally, the terminal device may select to start the android application program according to the target optimization file in the target APK; or the terminal equipment can select the file to be optimized in the APK and start the android application program according to the file obtained after optimization.
For example, after the terminal device receives the APK of the android application from the server, if the APK is an unaptimized APK, that is, a source APK issued to the server by a developer, the terminal device may optimize a file to be optimized in the APK by itself, and start the android application according to the file obtained after optimization by itself. The implementation mode enables the terminal device to normally start the android application program even if the source APK which is not optimized is downloaded from the application market.
In some implementation manners, even if the terminal device downloads the optimized target APK from the server, the terminal device may determine to start the android application program according to the target optimization file in the target APK, or may determine to-be-optimized file in the source APK, and start the android application program according to the file obtained after optimization.
For example, the terminal device may be preconfigured with an execution policy or download the execution policy from the server, and the terminal device may determine, according to the execution policy, whether to start the android application program according to the target optimization file in the target APK or to optimize the file to be optimized in the source APK, and start the android application program according to the file obtained after optimization.
For example, the following may be included in the execution policy: the terminal equipment starts an android application program according to a target optimization file in the target APK by default; and under the condition that the android application program is started or operated according to the target optimization file in the target APK and is out of failure, the terminal equipment optimizes the file to be optimized in the source APK and starts the android application program according to the file obtained after optimization.
In the operation method of the embodiment of the application, in some possible implementation manners, the target APK may only include files other than the file to be optimized in the source APK and a target optimized file obtained by optimizing the file to be optimized. That is, the target APK may not include the file to be optimized in the source APK.
For example, the APK issued by the developer to the server includes a resource file (resource), a configuration file, and a dex file, and the dex file is a file to be optimized, and the server optimizes the dex file, and the obtained target APK may include a target optimized file obtained by optimizing the resource file, the configuration file, and the dex file.
In the implementation mode, the downloading amount of the terminal equipment is small, so that the downloading speed can be improved, and the user experience is improved.
In other possible implementation manners, the target APK may include a file to be optimized in the source APK, a file other than the file to be optimized, and a first target optimization file obtained by optimizing the file to be optimized. That is, the target APK may include all files in the source APK and a first target optimization file obtained by optimizing the file to be optimized.
For example, if the source APK includes a resource file, a configuration file, and a dex file, and the dex file is a file to be optimized, the target APK may include a first target optimization file obtained by optimizing the resource file, the configuration file, the dex file, and the dex file.
For example, as shown in fig. 3, the APK of an android application published by a developer to the application marketplace includes resource files, dex files, and library files. The target APK downloaded by the terminal device from the application market may include a file in the source APK, a first target optimization file obtained by optimizing the dex file, and a first target optimization file obtained by optimizing the library file.
In this case, the terminal device may determine that the android application needs to be started according to the first target optimization file in the target APK; or determining that the files to be optimized in the target APK need to be optimized by self, and starting the android application program according to the files obtained after self optimization. For convenience of description, the file optimized by the terminal device itself may be referred to as a second target optimization file.
If the terminal device determines that the android application program needs to be operated according to the first target optimization file in the target APK, the android application program can be operated according to the first target optimization file in the target APK; if the terminal device determines that the android application program does not need to be operated according to the first target optimization file in the target APK, the terminal device can optimize the file to be optimized in the target APK to obtain a second target optimization file, and the android application program is operated according to the second target optimization file.
In the operation method of the embodiment of the application, optionally, before the terminal device receives the target APK of the android application from the server, the method may further include: and the terminal equipment sends a request message for downloading the android application program to the server so that the server can send the APK of the android application program to the terminal equipment according to the request message.
Fig. 5 is a schematic block diagram of an apparatus 500 for optimizing an android running program according to an embodiment of the present application. It should be understood that the apparatus 500 is merely an example. The apparatus of the embodiments of the present application may also include other modules or units, or include modules similar in function to the respective modules in fig. 5, or not include all the modules in fig. 5.
The optimizing module 510 is configured to optimize a to-be-optimized file in a source android installation package APK of an android application program, to obtain a target optimized file corresponding to the to-be-optimized file.
A sending module 520, configured to send a target APK of the android application to a terminal device, where the target APK includes the target optimization file.
Optionally, the target APK further includes the file to be optimized.
Optionally, the file to be optimized includes a dex file, and the dex file is an executable file in an android virtual machine.
Optionally, the file to be optimized includes a library file.
Optionally, the server is deployed with at least one of a Maple toolchain, an underlying virtual machine LL VM toolchain, and an advanced AOT compilation optimization toolchain.
Wherein the optimization module is specifically configured to: optimizing the file to be optimized in the source APK by using an optimization tool chain in the at least one optimization tool chain.
Optionally, the apparatus further comprises a receiving module 530 configured to: before the optimization module optimizes a file to be optimized in a source APK of the android application program, receiving a request message for requesting to download the android application program from the terminal equipment.
The apparatus 500 may be used for performing the steps of the method described in fig. 2, and therefore, for brevity, will not be described again here.
Fig. 6 is a schematic block diagram of an apparatus 600 for running an android application according to an embodiment of the present application. It should be understood that the apparatus 600 is merely an example. The apparatus of the embodiments of the present application may also include other modules or units, or include modules similar in function to the respective modules in fig. 6, or not include all the modules in fig. 6.
The receiving module 610 is configured to receive a target android installation package APK of an android application program from a server, where the target APK includes a first target optimization file obtained by optimizing a file to be optimized in a source APK of the android application program.
And the running module 620 is configured to run the android application according to the first target optimization file in the target APK.
Optionally, the target APK further includes the file to be optimized.
Optionally, the apparatus further comprises: and the determining module is used for determining whether the android application program needs to be operated according to the first target optimization file in the target APK. Wherein the operation module is specifically configured to: and when the determining module determines that the android application program needs to be operated according to the first target optimization file in the target APK, operating the android application program according to the first target optimization file in the target APK. The device further includes an optimization module 630, configured to optimize the file to be optimized to obtain a second target optimization file when the determination module determines that the android application does not need to be run according to the first target optimization file in the target APK; at this time, the running module is further configured to run the android application program according to the second target optimization file.
Optionally, the file to be optimized includes a dex file, and the dex file is an executable file in an android virtual machine.
Optionally, the file to be optimized includes a library file.
Optionally, the apparatus further comprises a sending module 640 configured to: before the downloading module receives a target APK of the android application program from a server, a request message for requesting downloading of the android application program is sent to the server.
The apparatus 600 may be used for performing the steps of the method described in fig. 4, and therefore, for brevity, will not be described here again.
One example of the apparatus 600 is a terminal device.
Fig. 7 is a schematic structural diagram of an apparatus for running an android application according to another embodiment of the present application. It should be understood that the apparatus 700 shown in fig. 7 is only an example, and the apparatus of the embodiment of the present application may further include other modules or units, or include modules having functions similar to those of the respective modules in fig. 7.
The apparatus 700 may include one or more processors 710, one or more memories 720, and a transmitter 740. Memory 720 is used to store program code that is executed by processor 710. Processor 710 is operative to fetch instructions from memory 720. The transmitter 740 is used to transmit information.
Wherein the memory 720 may be integrated into the processor 710 or the processor 710 may be coupled to one or more memories 720.
Optionally, the apparatus 700 may further comprise a receiver 730. The receiver 730 and the transmitter 740 may be integrated together and referred to as a transceiver.
Processor 710 may be used to implement operations or steps that optimization module 510 in FIG. 5 is capable of implementing; the transmitter 740 may be used to implement the operations or steps that the transmitting module 520 in fig. 5 is capable of implementing; the receiver 730 may be used to implement the operations or steps that the receiving module 530 in fig. 5 is capable of implementing.
One example of the apparatus 700 is a server.
Fig. 8 is a schematic structural diagram of an apparatus for running an android application according to another embodiment of the present application. It should be understood that the apparatus 800 shown in fig. 8 is only an example, and the apparatus of the embodiments of the present application may further include other modules or units, or include modules having functions similar to those of the respective modules in fig. 8.
The apparatus 800 may include one or more processors 810, one or more memories 820, and a receiver 830. The memory 820 is used to store program codes executed by the processor 810. The processor 810 is used to fetch instructions from the memory 820. The transmitter 840 is used to transmit information.
Wherein the processor 810 may have the memory 820 integrated therein, or the processor 810 may be coupled to one or more memories 720.
Optionally, the apparatus 800 may further comprise a transmitter 840. The receiver 830 and the transmitter 840 may be integrated together and referred to as a transceiver.
Processor 810 may be used to implement operations or steps that execution module 620 and optimization module 630 in fig. 6 are capable of implementing; receiver 830 may be used to implement operations or steps that receiving module 610 in fig. 6 is capable of implementing; the transmitter 840 may be used to implement the operations or steps that the transmitting module 640 in fig. 6 is capable of implementing.
One example of the apparatus 800 is a terminal device.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
It should be understood that the processor in the embodiments of the present application may be an integrated circuit chip having signal processing capability. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The processor may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (24)

  1. A method of optimizing an android application, comprising:
    the method comprises the steps that a server optimizes a file to be optimized in a source android installation package (APK) of an android application program to obtain a target optimization file corresponding to the file to be optimized;
    and the server sends a target APK of the android application program to the terminal equipment, wherein the target APK comprises the target optimization file.
  2. The method of claim 1, wherein the target APK further comprises the file to be optimized.
  3. The method of claim 1 or 2, wherein the file to be optimized comprises a dex file, and the dex file is an executable file in an android virtual machine.
  4. A method according to any one of claims 1 to 3, wherein the file to be optimised comprises a library file.
  5. The method according to any one of claims 1 to 4, wherein the server has deployed thereon at least one of a Maple toolchain, an underlying virtual machine LL VM toolchain, an advanced AOT compilation optimization toolchain;
    the method for optimizing the files to be optimized in the source APK of the android application program by the server comprises the following steps:
    and the server optimizes the file to be optimized in the source APK by using an optimization tool chain in the at least one optimization tool chain.
  6. The method of any one of claims 1 to 5, wherein before the server optimizes the file to be optimized in the source APK of the android application, the method further comprises:
    and the server receives a request message for requesting to download the android application program from the terminal equipment.
  7. A method of running an android application, comprising:
    the method comprises the steps that terminal equipment receives a target android installation package (APK) of an android application program from a server, wherein the target APK comprises a first target optimization file obtained by optimizing a file to be optimized in a source APK of the android application program;
    and the terminal equipment runs the android application program according to the first target optimization file in the target APK.
  8. The method of claim 7, wherein the target APK further comprises the file to be optimized in the source APK.
  9. The method of claim 8, wherein the method further comprises:
    the terminal equipment determines whether the android application program needs to be operated according to the first target optimization file in the target APK;
    the terminal device runs the android application program according to the first target optimization file in the target APK, and the method comprises the following steps:
    when the terminal equipment determines that the android application program needs to be operated according to the first target optimization file in the target APK, the android application program is operated according to the first target optimization file in the target APK;
    the method further comprises the following steps:
    the terminal device determines that the android application program does not need to be operated according to the first target optimization file in the target APK, and optimizes the file to be optimized in the target APK to obtain a second target optimization file;
    and the terminal equipment operates the android application program according to the second target optimization file.
  10. The method of any one of claims 7 to 9, wherein the file to be optimized comprises a dex file, the dex file being an executable file in an android virtual machine.
  11. The method of any of claims 7 to 10, wherein the file to be optimized comprises a library file.
  12. The method of any one of claims 7 to 11, wherein prior to the terminal device receiving the target APK for the android application from the server, the method further comprises:
    and the terminal equipment sends a request message for requesting to download the android application program to the server.
  13. An apparatus for optimizing an android application, comprising:
    the processor is used for optimizing a file to be optimized in a source android installation package (APK) of an android application program to obtain a target optimization file corresponding to the file to be optimized;
    and the sender is used for sending the target APK of the android application program to the terminal equipment, and the target APK comprises the target optimization file.
  14. The apparatus of claim 13, wherein the target APK further comprises the file to be optimized.
  15. The apparatus of claim 13 or 14, wherein the file to be optimized comprises a dex file, and the dex file is an executable file in an android virtual machine.
  16. The apparatus of any of claims 13 to 15, wherein the file to be optimized comprises a library file.
  17. The apparatus according to any one of claims 13 to 16, wherein the server has deployed thereon at least one of a Maple toolchain, an underlying virtual machine LL VM toolchain, an advanced AOT compilation optimization toolchain;
    wherein the processor is specifically configured to: optimizing the file to be optimized in the source APK by using an optimization tool chain in the at least one optimization tool chain.
  18. The apparatus of any one of claims 13 to 17, wherein the apparatus further comprises a receiver to: before the processor optimizes a file to be optimized in a source APK of the android application program, receiving a request message for requesting to download the android application program from the terminal equipment.
  19. An apparatus for running an android application, comprising:
    the system comprises a receiver and a server, wherein the receiver is used for receiving a target android installation package (APK) of an android application program from the server, and the target APK comprises a target optimization file obtained by optimizing a file to be optimized in a source APK of the android application program;
    and the processor is used for operating the android application program according to the target optimization file in the target APK.
  20. The apparatus of claim 19, wherein the target APK further comprises the file to be optimized in the source APK.
  21. The apparatus of claim 20, wherein the processor is further configured to: determining whether the android application program needs to be operated according to the first target optimization file in the target APK;
    wherein the processor is specifically configured to: when the android application program needs to be operated according to the first target optimization file in the target APK, the android application program is operated according to the target optimization file in the target APK;
    the processor is further configured to: when the android application program does not need to be operated according to the first target optimization file in the target APK, optimizing a file to be optimized in the target APK to obtain a second target optimization file; and operating the android application program according to the second target optimization file.
  22. The apparatus of any of claims 19 to 21, wherein the file to be optimized comprises a dex file, the dex file being an executable file in an android virtual machine.
  23. The apparatus of any of claims 19 to 22, wherein the file to be optimized comprises a library file.
    A transmitter for: before the receiver receives a target APK of the android application program from a server, a request message for requesting to download the android application program is sent to the server.
  24. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon a program which, when executed, implements the method of any one of claims 1 to 12.
CN201880079787.1A 2018-10-15 2018-10-15 Method for optimizing and running android application program and related device Pending CN111492345A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110212 WO2020077487A1 (en) 2018-10-15 2018-10-15 Method and related apparatus for optimizing and running android application

Publications (1)

Publication Number Publication Date
CN111492345A true CN111492345A (en) 2020-08-04

Family

ID=70283370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880079787.1A Pending CN111492345A (en) 2018-10-15 2018-10-15 Method for optimizing and running android application program and related device

Country Status (2)

Country Link
CN (1) CN111492345A (en)
WO (1) WO2020077487A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506519A (en) * 2020-12-15 2021-03-16 Oppo广东移动通信有限公司 Compiling method of application program, mobile terminal and server
CN112596751A (en) * 2020-12-29 2021-04-02 Oppo广东移动通信有限公司 Compiling method, terminal, server and storage medium of application program installation package
CN113031957A (en) * 2020-12-16 2021-06-25 深圳市欢太科技有限公司 Application program installation method, client, terminal, server and storage medium
CN113568634A (en) * 2021-06-28 2021-10-29 荣耀终端有限公司 Processing method and processing device for application optimization

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182255A (en) * 2014-08-20 2014-12-03 青岛海信宽带多媒体技术有限公司 Method and terminal for upgrading library files of system application
CN104462959A (en) * 2014-12-04 2015-03-25 北京奇虎科技有限公司 Reinforcement protection method, sever and system for android app
CN105100191A (en) * 2015-05-22 2015-11-25 华为技术有限公司 Method, device and system for realizing Java application installation via cloud compilation
CN105391763A (en) * 2015-10-13 2016-03-09 北京奇虎科技有限公司 Method and server for reinforcing a plurality of apk files
CN105915623A (en) * 2016-05-20 2016-08-31 努比亚技术有限公司 Device and method of processing application installation package
CN106462677A (en) * 2014-03-31 2017-02-22 爱迪德技术有限公司 Optimizing and protecting software
CN106775893A (en) * 2016-12-30 2017-05-31 北京小米移动软件有限公司 To the method and device of program precompile
CN106933610A (en) * 2015-12-30 2017-07-07 北京金山安全软件有限公司 Application program installation package generation method and device and electronic equipment
CN107168742A (en) * 2017-05-19 2017-09-15 中南大学 Application quick deployment method based on customization Android platform
CN107220083A (en) * 2017-05-22 2017-09-29 韩皓 Exempt from the method and system of installation and operation application program in a kind of Android system
CN107766061A (en) * 2017-11-20 2018-03-06 烽火通信科技股份有限公司 The installation method and installation system of a kind of Android application program
CN108536488A (en) * 2018-04-17 2018-09-14 Oppo广东移动通信有限公司 Using starting guide method, apparatus, storage medium and terminal device

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462677A (en) * 2014-03-31 2017-02-22 爱迪德技术有限公司 Optimizing and protecting software
CN104182255A (en) * 2014-08-20 2014-12-03 青岛海信宽带多媒体技术有限公司 Method and terminal for upgrading library files of system application
CN104462959A (en) * 2014-12-04 2015-03-25 北京奇虎科技有限公司 Reinforcement protection method, sever and system for android app
CN105100191A (en) * 2015-05-22 2015-11-25 华为技术有限公司 Method, device and system for realizing Java application installation via cloud compilation
CN105391763A (en) * 2015-10-13 2016-03-09 北京奇虎科技有限公司 Method and server for reinforcing a plurality of apk files
CN106933610A (en) * 2015-12-30 2017-07-07 北京金山安全软件有限公司 Application program installation package generation method and device and electronic equipment
CN105915623A (en) * 2016-05-20 2016-08-31 努比亚技术有限公司 Device and method of processing application installation package
CN106775893A (en) * 2016-12-30 2017-05-31 北京小米移动软件有限公司 To the method and device of program precompile
CN107168742A (en) * 2017-05-19 2017-09-15 中南大学 Application quick deployment method based on customization Android platform
CN107220083A (en) * 2017-05-22 2017-09-29 韩皓 Exempt from the method and system of installation and operation application program in a kind of Android system
CN107766061A (en) * 2017-11-20 2018-03-06 烽火通信科技股份有限公司 The installation method and installation system of a kind of Android application program
CN108536488A (en) * 2018-04-17 2018-09-14 Oppo广东移动通信有限公司 Using starting guide method, apparatus, storage medium and terminal device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506519A (en) * 2020-12-15 2021-03-16 Oppo广东移动通信有限公司 Compiling method of application program, mobile terminal and server
CN113031957A (en) * 2020-12-16 2021-06-25 深圳市欢太科技有限公司 Application program installation method, client, terminal, server and storage medium
CN112596751A (en) * 2020-12-29 2021-04-02 Oppo广东移动通信有限公司 Compiling method, terminal, server and storage medium of application program installation package
CN112596751B (en) * 2020-12-29 2024-05-17 Oppo广东移动通信有限公司 Compiling method, terminal, server and storage medium of application program installation package
CN113568634A (en) * 2021-06-28 2021-10-29 荣耀终端有限公司 Processing method and processing device for application optimization
CN113568634B (en) * 2021-06-28 2022-05-17 荣耀终端有限公司 Processing method and processing device for application optimization

Also Published As

Publication number Publication date
WO2020077487A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
CN111492345A (en) Method for optimizing and running android application program and related device
CN111078318B (en) Processing method, device and system of configuration file and storage medium
CN110569106B (en) Code loading method and device, electronic equipment and computer readable medium
CN109062617B (en) Application method of platform supporting multiple types of equipment and mobile terminal
KR101854975B1 (en) Method and system for extending function of package file
US10846073B2 (en) Methods, apparatuses, terminals, servers, and systems for container generation
CN104781785A (en) Generating native code from intermediate language code for an application
US9392051B2 (en) Application distribution supplying a dedicated application to a terminal from an application deposited by the developer
CN104375849A (en) Core loading method and device
US9158521B2 (en) Automatic provisioning of a software platform to a device ecosystem
US10463956B2 (en) Device for transmitting game application program and resource file between smart devices, application program, and transmission method therefor
CN109857432B (en) Hot updating method and device for game application
CN104461582A (en) Service processing method and device and equipment
CN112130926B (en) Application program running method, device, terminal equipment and storage medium
CN112732345A (en) Starting method, device, equipment and storage medium of embedded system
CN110764813A (en) Upgrading method of system software and running method thereof
CN111290740B (en) Application program development method and device, computer equipment and storage medium
CN106775916B (en) Method and device for reducing application installation packages and electronic equipment
WO2023226720A1 (en) Resource file transmission method and apparatus, and device and storage medium
CN114780234A (en) Method and device for realizing BOOT and application program separation and related components
US20220291918A1 (en) Patch release method, server, and terminal device
CN108958795B (en) BootLoader code reuse method and development board in embedded system
WO2019157891A1 (en) Application installation method and application installer generating method
KR20110108143A (en) Embeded system based on script programming language and operation method thereof
CN113419735B (en) Plug-in optimization method and device

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200804