CN113031957A - Application program installation method, client, terminal, server and storage medium - Google Patents

Application program installation method, client, terminal, server and storage medium Download PDF

Info

Publication number
CN113031957A
CN113031957A CN202011492499.4A CN202011492499A CN113031957A CN 113031957 A CN113031957 A CN 113031957A CN 202011492499 A CN202011492499 A CN 202011492499A CN 113031957 A CN113031957 A CN 113031957A
Authority
CN
China
Prior art keywords
file
application
installation
server
client
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
CN202011492499.4A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology Co Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd, Shenzhen Huantai Technology Co Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011492499.4A priority Critical patent/CN113031957A/en
Publication of CN113031957A publication Critical patent/CN113031957A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

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

Abstract

The embodiment of the application discloses an installation method of an application program, a client, a terminal, a server and a storage medium, wherein the method comprises the following steps: a client sends a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device; acquiring an installation file corresponding to an application to be installed generated by a server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result; and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiling file and the APK file. The method comprises the steps that a server receives a downloading request of an application to be installed, which is sent by a client; generating an installation file corresponding to an application to be installed; and sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiling file and the APK file.

Description

Application program installation method, client, terminal, server and storage medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to an installation method of an application program, a client, a terminal, a server, and a storage medium.
Background
Compared with the original Dalvik virtual machine, the promotion of the Android Runtime (ART) virtual machine can perform advanced compilation of binary machine codes in an advanced-of-time (AOT) compilation mode, so that the running efficiency of the application program is improved to a certain extent.
However, if an Android (Android) application program is to be run in an AOT manner, an executable program dexopt or dex2opt needs to be called in the installation process of the application program to compile a dex file, such a compilation process not only increases installation time, but also generates large resource overhead, and thus how to improve the installation efficiency of the application program and reduce the resource overhead while improving the running efficiency becomes an urgent problem to be solved.
Disclosure of Invention
The embodiment of the application provides an installation method of an application program, a client, a terminal, a server and a storage medium, which can effectively improve the installation efficiency of the application program and reduce resource overhead.
The technical scheme of the embodiment of the application is realized as follows:
in a first aspect, an embodiment of the present application provides an installation method of an application program, where the method is applied to a client, and the method includes:
sending a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device;
acquiring an installation file corresponding to the application to be installed, which is generated by the server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result;
and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiled file and the APK file.
In a second aspect, an embodiment of the present application provides an installation method of an application, where the method is applied to a server, and the method includes:
receiving a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device;
generating an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
and sending the installation file to the client so that the client completes the installation of the application to be installed according to the first AOT compiling file and the APK file.
In a third aspect, an embodiment of the present application provides a client, where the client includes: a first sending unit, an obtaining unit, a checking unit and an installing unit,
the determining unit is used for sending a downloading request of the application to be installed to the server; wherein the download request carries identification information of the mobile device;
the obtaining unit is used for obtaining an installation file corresponding to the application to be installed generated by the server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
the verification unit is used for performing file verification processing on the APK file and the first AOT compiled file to obtain a verification result;
and the installation unit is used for finishing the installation of the application to be installed according to the first AOT compiled file and the APK file if the verification result is that the application passes.
In a fourth aspect, an embodiment of the present application provides a terminal, in which the client terminal according to claim 16 runs, and the terminal includes a first processor, a first memory storing instructions executable by the first processor, and when the instructions are executed by the first processor, the method for installing the application program is implemented.
In a fifth aspect, an embodiment of the present application provides a server, where the server includes: a receiving unit, a generating unit and a second transmitting unit,
the receiving unit is used for receiving a downloading request of the application to be installed, which is sent by the client; wherein the download request carries identification information of the mobile device;
the generating unit is used for generating an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
and the second sending unit is used for sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiled file and the APK file.
In a sixth aspect, the present application provides a server, where the server includes a second processor, and a second memory storing instructions executable by the second processor, and when the instructions are executed by the second processor, the method for installing an application program as described above is implemented.
In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, on which a program is stored, and the program is applied to a client and a server, and when the program is executed by a first processor, the method for installing an application program according to the first aspect is implemented; the program, when executed by the second processor, implements the installation method of the application program as described in the second aspect.
The embodiment of the application provides an installation method of an application program, a client, a terminal, a server and a storage medium, wherein the client sends a downloading request of an application to be installed to the server; wherein the download request carries identification information of the mobile device; acquiring an installation file corresponding to an application to be installed generated by a server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result; and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiling file and the APK file. The method comprises the steps that a server receives a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device; generating an installation file corresponding to an application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; and sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiling file and the APK file. That is to say, in the embodiment of the application, when the application is installed, the client does not execute the generation flow of the odex file or the vdex file any more, but directly acquires the odex file or the vdex file generated by the server, that is, the client does not perform pre-compilation processing on the APK any more, but the server completes the invocation of the executable program dex2oat or dexopt in advance, so that the installation efficiency of the application can be effectively improved, and the resource overhead is reduced.
Drawings
FIG. 1 is a diagram of the compilation and installation of APKs;
FIG. 2 is a first flowchart illustrating an implementation of an installation method of an application;
FIG. 3 is a schematic diagram illustrating a second implementation flow of an installation method of an application program;
FIG. 4 is a third schematic flow chart illustrating an implementation of the installation method of the application program;
FIG. 5 is a fourth schematic flow chart illustrating an implementation of the installation method of the application program;
FIG. 6 is a fifth flowchart illustrating an implementation of the installation method of the application program;
FIG. 7 is a sixth schematic flow chart of an implementation of the installation method of the application program;
FIG. 8 is a seventh flowchart illustrating an implementation of the installation method of the application program;
FIG. 9 is a schematic diagram of the client end;
fig. 10 is a schematic diagram of the composition structure of the terminal;
FIG. 11 is a first schematic diagram of the composition structure of the server;
fig. 12 is a schematic diagram of a composition structure of the server.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. It is to be understood that the specific embodiments described herein are illustrative of the relevant application and are not limiting of the application. It should be noted that, for the convenience of description, only the parts related to the related applications are shown in the drawings.
Android is a Linux-based operating system with free and open source codes, which is mainly used in mobile devices such as smart phones and tablet computers, and is led and developed by Google corporation and the open mobile alliance. The Android operating system was originally developed by Andy Rubin, mainly supporting mobile phones, and subsequently, Android gradually expands to tablet computers and other fields, such as televisions, digital cameras, game machines, and the like.
Starting from Android5.0, the Android runtime ART completely replaces the original virtual machine (Dalvik) and becomes a new virtual machine on the Android system.
AOT is relative to Just-in-time (JIT). JIT is the compilation of bytecodes into native machine code at runtime, which is why Java is generally considered less efficient than C + +. Whether interpreted by an interpreter or just-in-time compiled during runtime, is a time-consuming process more than executing native machine code compiled in C + +. AOT is a technology for closing to C + + compiling process: when an application package (Android package, Android, APK) is installed, the system compiles a dex file in the APK into an oat file containing a local machine code through a tool named dex2oat and stores the oat file. In doing so, the compiled machine code can be used directly at the time of program execution to speed up efficiency.
Fig. 1 is a schematic diagram illustrating the compiling and installing of APK, as shown in fig. 1, in the compiling stage, Java files are compiled into Class files by a compiling command Java (step S1), for example, hello.java files are compiled into hello.class files; then, the Class file is compiled into a dex file through a dx process (step S2), for example, the hello.class file is compiled into a hello.dex file; finally, packing the dex file into an Application Package (APK) through an Android Asset Packaging Tool (Android Asset Packaging Tool, aapt), and simultaneously packing the resource file Resources and the local Code Native Code into the APK (step S3). Whereas for the installation phase, before android5.0, the dex file in the APK would be optimized to be an odex file at installation time, i.e. compiled to be an odex file using a dexopt tool (step S4), at run time, for the Dalvik virtual machine, the odex file would be compiled to Native code by a JIT compiler (step S5). After 5.0 android, the dex2oat tool is used for AOT pre-compiling, the AOT is static compiling, and when the application is installed, a dex2oat process is started to pre-compile a dex file into an ELF file (step S6), wherein the ELF file contains original content in the dex file and compiled Native codes, so that for an ART virtual machine, the ELF file can be directly executed by a local processor, and recompilation is not needed when a program is run each time.
That is to say, the ART virtual machine is compiled into binary machine codes in advance in an AOT mode, so that the running efficiency of the application program is greatly improved.
However, when the dex2oat of the installation link occurs, the dex file in the original file needs to be extracted, and then the instruction-by-instruction judgment is performed, and then the translation is performed, so as to generate a large amount of intermediate content, and the overhead of the process occupies most of the installation time.
Moreover, the dex2oat process is a CPU-intensive operation process, which occupies a large amount of CPU time, and in order to increase the installation speed and even complete the installation by using all cores, other applications are difficult to be divided into CPU time slices, thereby causing a jam.
If the dex file is large, a large amount of intermediate contents are generated, and these intermediate contents are not stored in the memory, so that a virtual memory swap mechanism is adopted, some contents are exchanged into an Embedded Multi Media Card (EMMC), and a large amount of read operations are performed, and the result is stored in the EMMC, so that the input and output IO resource consumption of the whole system by the dex2oat process is large, and the ANR problem may be caused by competition with other applications.
In summary, although the ART virtual machine can perform advanced compilation of binary machine codes in an AOT manner, which greatly improves the operating efficiency of an application program, the Google native APK format installation package is still an APK file containing Dex byte codes, so that, in order to convert the Dex byte codes into machine codes and store the machine codes in a mobile device for use by an operating application, re-compilation is still required during installation of the application, and in the whole application installation process, the most resource-and time-consuming part is the android system application installation process, i.e., the class.
In order to solve the problems in the related art, in the embodiment of the present application, when an application program is installed, a client does not execute a generation process of an odex file or a vdex file, but directly acquires the odex file or the vdex file generated by a server, that is, the client does not perform pre-compilation processing on an APK, but the server completes the invocation of an executable program dex2oat or dexpt in advance, so that the installation efficiency of the application program can be effectively improved, and the resource overhead is reduced.
The application installation method provided by the present application can be applied to a client and a server. Specifically, a Server-Client, i.e., Client-Server (C/S) architecture. The C/S structure generally takes the form of a two-layer structure. The server is responsible for managing data, and the client is responsible for completing interaction tasks with the user.
The client is connected with the server through the local area network, receives the request of the user, and makes the request to the server through the network to operate the database. The server receives the request of the client, submits the data to the client, and the client calculates the data and presents the result to the user. The server also provides perfect security protection, data integrity processing and other operations, and allows multiple clients to access the server simultaneously, which puts high demands on the hardware data processing capability of the server.
In the C/S architecture, the application is divided into two parts: a server part and a client part. The server part is information and functions shared by a plurality of users, and executes background services, such as controlling the operation of a shared database and the like; the client side is exclusive to the user and is responsible for executing foreground functions, has powerful functions in the aspects of error prompt, online help and the like, and can be freely switched among subprograms.
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
An embodiment of the present application provides an installation method of an application program, which is applied to a client, where the client is a program that provides a local service for a client. Except for some application programs which only run locally, the application programs are generally installed on common clients and need to be operated together with a server. After the internet has developed, the more common clients include web browsers used in the world wide web, email clients for receiving and sending emails, and client software for instant messaging. For this kind of application, a corresponding server and a service program are needed in the network to provide corresponding services, such as database services, email services, etc.
Fig. 2 is a first flowchart illustrating an implementation flow of an installation method of an application program, and as shown in fig. 2, in an embodiment of the present application, a method for a client to install an application program may include the following steps:
step 101, sending a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device.
In the embodiment of the application, the client may first send a download request of the application to be installed to the server, where the download request is used to obtain an installation file corresponding to the application to be installed.
It should be noted that, in the present application, the download request sent by the client to the server may carry identification information of the mobile device, where the mobile device is an intelligent device operating the client. For example, the mobile device may be various electronic devices of an Android system, including but not limited to mobile electronic devices such as a mobile phone, a notebook computer, a Digital broadcast receiver, a Personal Digital Assistant (PDA), a tablet computer (PAD), a Portable Multimedia Player (PMP), a car navigation electronic device (e.g., car navigation electronic device), and the like, and fixed electronic devices such as a Digital Television (TV), a desktop computer, and the like.
Further, in an embodiment of the present application, the identification information of the mobile device may be an identification of a Read-Only Memory (ROM) configured for the mobile device.
Among them, the ROM operates in a nondestructive read mode, and only information that cannot be written can be read. Information is fixed after being written once, and even if the power is turned off, the information is not lost, so that the information is also called a fixed memory. The data stored in the ROM is usually written before being loaded into the whole machine, and the data can only be read out in the working process of the whole machine, unlike the random access memory which can quickly and conveniently rewrite the stored content. The ROM has stable data, the stored data can not be changed after power failure, and the ROM has simple structure and convenient use, thereby being used for storing various fixed programs and data.
Different types of read only memories (e.g., character generators) differ in their functionality, except that a few types of read only memories are common. For convenience of consumer use and mass production, various types of ROMs have been further developed, and each type of ROM has its own characteristics and application range. In terms of their manufacturing process and function, the ROMs are of five types, namely Mask-programmed read-only memories MROM (Mask-Programmable ROM), Programmable read-only memories prom (Programmable ROM), Erasable Programmable read-only memories eprom (Erasable Programmable ROM), electrically Erasable Programmable read-only memories eeprom (electrically Erasable Programmable ROM), and Flash memories.
It can be understood that, in the present application, the identification information of the mobile device is a unique identification of the type to which the mobile device belongs, and since the hardware version and the system software version are completely the same among mobile devices of the same type, the identification information corresponding to the mobile devices of the same type may be the same.
102, acquiring an installation file corresponding to an application to be installed, which is generated by a server; the installation files comprise APK files corresponding to the applications to be installed and first AOT compiling files corresponding to the applications to be installed and the identification information.
In the embodiment of the application, after sending the download request of the application to be installed to the server, the client may obtain the installation file of the application to be installed, which is generated by the server.
It can be understood that, in the present application, the client may send a download request of the application to be installed to the server, and after receiving the download request which is sent by the client and carries the identification information of the mobile device, the server may generate, according to the identification information, an installation file of the application to be installed, which corresponds to the mobile terminal that operates the client.
It should be noted that, in the embodiment of the present application, the installation file may include an APK file corresponding to the application to be installed, and may further include a first AOT compiled file corresponding to the application to be installed and the identification information.
The APK is an application package file format used by an Android operating system and used for distributing and installing mobile applications and middleware. The code of an Android application program is required to be run on an Android device, and the code must be compiled first and then packaged into a file which can be recognized by an Android system to be run, and the file format which can be recognized and run by the Android system is 'APK'. An APK file may contain compiled code files (. dex files), file resources (resources), native resource files (assets), certificates (certifies), manifest files (manifest files), and the like.
Further, in the embodiment of the present application, the first AOT compiled file corresponds to the application to be installed and the identification information, and since the identification information corresponding to the mobile devices of the same type may be the same, the first AOT compiled file used when the application to be installed is installed may be the same for the mobile devices of the same type.
It should be noted that, in this embodiment of the application, the first AOT compiled file may be a file generated by calling the executable program dex2oat or dexopt for the server to perform the compilation of the APK and run the application to be installed.
It is understood that, in the present application, the first AOT compiled file may include an odex file or a vdex file. Specifically, the server calling executable program dexopt may generate an odex file, and the server calling executable program dex2oat may generate a vdex file.
Wherein vdex is an executable binary code file directly converted by package, and the vdex is generated under/system/app/< package name >/oat/after the computer is started for the first time; during the operation of the system, the virtual machine copies the data from the "/system/app" to the "/data/davilk-cache/"; the odex is a new executable binary code file generated by extracting a part of modules from the vdex file, and the code file is generated under/system/app/< packagetname >/at/when the system is started for the first time, and the virtual machine copies the code from "/system/app" to "/data/davilk-cache/" during the operation process of the system.
Further, in the embodiment of the present application, the server selects to invoke the executable program dexopt or the executable program dex2oat according to the identification information carried in the received download request.
It should be noted that, in an embodiment of the present application, the server may include a download server and a compiling server, where the download server may be configured to receive a download request sent by the client, and may also be configured to store an installation file, and the compiling server may be configured to generate the first AOT compiled file.
And 103, carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result.
In the embodiment of the application, after the client acquires the installation file corresponding to the application to be installed, which is generated by the server, the client can further perform file verification processing on the APK file and the first AOT compiled file, so that a verification result can be obtained.
It should be noted that, in the embodiment of the present application, the verification result may include pass or fail, where the verification result can be pass only if both the APK file and the first AOT compiled file are verified successfully.
Fig. 3 is a schematic view of an implementation flow of an installation method of an application program, and as shown in fig. 3, before performing file verification processing on the APK file and the first AOT compiled file to obtain a verification result, that is, before step 103, the method for a client to install an application program may further include the following steps:
105, acquiring a file check code generated by a server; the file check code comprises a first check code corresponding to the APK file and a second check code corresponding to the first AOT compiled file.
In the embodiment of the application, the client may further obtain a file check code generated by the server and corresponding to the installation file.
It can be understood that, in the embodiment of the present application, after the server generates the installation package of the application to be installed, the server may further perform calculation of the file verification value, so as to obtain the file verification code. The file check code may include a first check code corresponding to the APK file, and may further include a second check code corresponding to the first AOT compiled file.
It should be noted that, in the present application, the first check code is used to perform check processing on the APK file, and the second check code is used to perform check processing on the first AOT compiled file, that is, to perform check processing on the odex file or the vdex file.
Further, in the embodiment of the present application, when the client performs file verification processing on the APK file and the first AOT compiled file to obtain a verification result, a first checksum of the APK file may be determined first; if the first checksum is equal to the first check code, the client may continue to determine a second checksum corresponding to the first AOT compiled file; if the second checksum is equal to the second checksum, the client may determine that the checksum result is a pass; if the second checksum is not equal to the second checksum, the client may determine that the checksum is not passed.
Note that, in the embodiment of the present application, the file check refers to checking of values of MD5, SHA1, and CRC32 of the file. Wherein, each file can be calculated by MD5 verification program to obtain a fixed MD5 code. Further, since MD5 is at risk of being modified, the client may also perform file verification by using Message Authentication Code (MAC), where MAC is a specific numeric string agreed between the sender and the receiver, and when the sender sends a file, HASH calculation is performed by adding the file content to MAC (MAC is not sent with the file), even if a third party intercepts the file, correct HASH value cannot be calculated because there is no MAC.
Further, in the embodiment of the present application, after determining the first checksum of the APK file, if the first checksum is not equal to the first check code, the client may retrieve the installation file generated by the server. That is, if the APK file check fails, the client needs to re-download the installation file.
And step 104, if the verification result is that the application to be installed passes, installing the application to be installed according to the first AOT compiling file and the APK file.
In the embodiment of the application, after the client performs file verification processing on the APK file and the first AOT compiled file and obtains a verification result, if the verification result is passed, the client completes installation of the application to be installed according to the first AOT compiled file and the APK file.
It should be noted that, in the embodiment of the present application, after the client performs file verification processing on the APK file and the first AOT compiled file respectively, if the obtained verification result is that the APK file and the first AOT compiled file are both verified successfully, the client may directly use the APK file and the first AOT compiled file to complete the installation processing of the file to be installed.
That is to say, in the present application, when the application to be installed is installed, the client no longer calls the executable program dex2oat or dexopt to perform the compilation of the APK, but directly obtains the already generated odex file or vdex file from the server.
Further, in an embodiment of the present application, fig. 4 is a schematic view of an implementation flow of an installation method of an application program, and as shown in fig. 4, after performing file verification processing on the APK file and the first AOT compiled file and obtaining a verification result, that is, after step 103, the method for a client to install an application program may further include the following steps:
and step 106, if the verification result is that the first AOT compiled file does not pass the verification result, generating a second AOT compiled file through compiling processing.
And step 107, completing installation of the application to be installed according to the second AOT compiling file and the APK file.
In the embodiment of the application, after the client performs file verification processing on the APK file and the first AOT compiled file to obtain a verification result, if the verification result is that the APK file and the first AOT compiled file do not pass, the client needs to perform compilation processing to obtain a second AOT compiled file.
It can be understood that, in the embodiment of the present application, after the client performs the file verification process, if the APK file verification is successful and the first AOT compiled file verification fails, the client may choose to execute the compilation of the APK by calling the executable program dex2oat or dexopt according to the existing installation method, and generate the second AOT compiled file for running the application to be installed.
It should be noted that, in the embodiment of the present application, the second AOT compiled file corresponds to the application to be installed and the identification information, and since the identification information corresponding to the same type of mobile device may be the same, the second AOT compiled file used when the application to be installed is installed may be the same for the same type of mobile device.
It is understood that, in the present application, the second AOT compiled file may include an odex file or a vdex file. Specifically, the client calls the executable program dexopt to generate an odex file, and the server calls the executable program dex2oat to generate a vdex file.
Further, in the embodiment of the present application, the client selects to invoke the executable program dexopt or to invoke the executable program dex2oat according to the identification information.
It should be noted that, in the embodiment of the present application, after the client generates the second AOT compiled file, the client may perform installation processing according to the second AOT compiled file and the APK file, that is, may complete installation of the application to be installed according to the existing AOT manner.
Further, in the embodiment of the present application, after the client performs file verification processing and determines that the verification result is passed, the client may select to use an existing AOT mode to install the application program if an abnormal installation occurs during the installation processing according to the first AOT compiled file and the APK, that is, the client performs compilation processing based on the identification information to generate the second AOT compiled file; and then completing the installation of the application to be installed according to the second AOT compiling file and the APK file.
It should be noted that, in the embodiment of the present Application, the client may obtain the installation file and the file check code through an Application Programming Interface (API); wherein the API supports transmission of the first AOT compiled file and the file check code.
Specifically, the API is a predefined function or convention for linking different components of a software system. Can be used to provide a set of routines that applications and developers can access based on certain software or hardware without accessing source code or understanding the details of the internal workings.
That is, in the embodiment of the present application, the API may be adjusted on the basis of the native interface, so that the API supports the incoming odex file or vdex file and the related file check code, and thus the client and the server may perform transmission of the AOT compiled file and the file check code through the API.
In summary, in the embodiment of the present application, with the installation method of the application program proposed in the above steps 101 to 107, aiming at the problems of slow installation process, large system resource occupation, and the like existing in the installation of the application by using the AOT method, a processing flow of removing the dexopt or dex2oat at the client is selected, and the generation of the odex file or the vdex file is performed in the server, and at the same time, the identification information of the mobile device is synchronized with the server, so that the server performs the AOT pre-compilation operation for the specific system Rom, thereby ensuring that the binary file compiled by the server is completely consistent with the binary file compiled locally. Therefore, the application program installation method can improve the installation speed, reduce the resource overhead and ensure the reliability of the whole installation process on the basis of the original installation process.
That is to say, in the application, the client no longer calls the executable program dex2oat or dexopt to execute the precompilation of the APK, but directly obtains the odex file or the vdex file corresponding to the terminal device from the server, so that the application installation speed can be greatly increased.
The embodiment of the application provides an installation method of an application program, wherein a client sends a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device; acquiring an installation file corresponding to an application to be installed generated by a server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result; and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiling file and the APK file. That is to say, in the embodiment of the application, when the application is installed, the client does not execute the generation flow of the odex file or the vdex file any more, but directly acquires the odex file or the vdex file generated by the server, that is, the client does not perform pre-compilation processing on the APK any more, but the server completes the invocation of the executable program dex2oat or dexopt in advance, so that the installation efficiency of the application can be effectively improved, and the resource overhead is reduced.
Still another embodiment of the present application provides an installation method of an application program, which is applied to a server, wherein the server provides computing or application services for other clients (such as a terminal like a PC, a smart phone, an ATM, and even a large-scale device like a train system) in a network. The server has high-speed CPU computing capability, long-time reliable operation, strong I/O external data throughput capability and better expansibility. Generally, a server has the capability of responding to a service request, supporting a service, and guaranteeing the service according to the service provided by the server. The server is used as an electronic device, and the internal structure of the server is very complex, but the difference with the internal structure of a common computer is not great, such as: CPU, hard disk, memory, system bus, etc.
Fig. 5 is a flowchart illustrating a fourth implementation flow of an application program installation method, as shown in fig. 5, in an embodiment of the present application, a method for a server to install an application program may include the following steps:
step 201, receiving a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device.
In the embodiment of the application, the server may receive a download request of the application to be installed, which is sent by the client, first, where the download request is used to obtain an installation file corresponding to the application to be installed.
It should be noted that, in the present application, the server may carry identification information of the mobile device in the download request sent by the client, where the mobile device is an intelligent device operating the client.
Further, in the embodiment of the present application, the identification information of the mobile device may be an identification of a read only memory ROM configured for the mobile device.
It can be understood that, in the present application, the identification information of the mobile device is a unique identification of the type to which the mobile device belongs, and since the hardware version and the system software version are completely the same among mobile devices of the same type, the identification information corresponding to the mobile devices of the same type may be the same.
Step 202, generating an installation file corresponding to an application to be installed; the installation files comprise APK files corresponding to the applications to be installed and first AOT compiling files corresponding to the applications to be installed and the identification information.
In the embodiment of the application, after receiving a download request of an application to be installed sent by a client, a server may generate an installation file corresponding to the application to be installed.
It can be understood that, in the present application, after receiving a download request which is sent by a client and carries identification information of a mobile device, a server may generate an installation file for installation of an application to be installed, which corresponds to a mobile terminal running the client, according to the identification information.
It should be noted that, in the embodiment of the present application, the installation file may include an APK file corresponding to the application to be installed, and may further include a first AOT compiled file corresponding to the application to be installed and the identification information.
The APK is an application package file format used by an Android operating system and used for distributing and installing mobile applications and middleware. The code of an Android application program is required to be run on an Android device, and the code must be compiled first and then packaged into a file which can be recognized by an Android system to be run, and the file format which can be recognized and run by the Android system is 'APK'. An APK file may contain compiled code files (. dex files), file resources (resources), native resource files (assets), certificates (certifies), manifest files (manifest files), and the like.
Further, in the embodiment of the present application, the first AOT compiled file corresponds to the application to be installed and the identification information, and since the identification information corresponding to the mobile devices of the same type may be the same, the first AOT compiled file used when the application to be installed is installed may be the same for the mobile devices of the same type.
It should be noted that, in this embodiment of the application, the first AOT compiled file may be a file generated by calling the executable program dex2oat or dexopt for the server to perform the compilation of the APK and run the application to be installed.
It is understood that, in the present application, the first AOT compiled file may include an odex file or a vdex file. Specifically, the server calling executable program dexopt may generate an odex file, and the server calling executable program dex2oat may generate a vdex file.
Wherein vdex is an executable binary code file directly converted by package, and the vdex is generated under/system/app/< package name >/oat/after the computer is started for the first time; during the operation of the system, the virtual machine copies the data from the "/system/app" to the "/data/davilk-cache/"; the odex is a new executable binary code file generated by extracting a part of modules from the vdex file, and the code file is generated under/system/app/< packagetname >/at/when the system is started for the first time, and the virtual machine copies the code from "/system/app" to "/data/davilk-cache/" during the operation process of the system.
Further, in the embodiment of the present application, the server selects to invoke the executable program dexopt or the executable program dex2oat according to the identification information carried in the received download request.
It should be noted that, in an embodiment of the present application, the server may include a download server and a compiling server, where the download server may be configured to receive a download request sent by the client, and may also be configured to store an installation file, and the compiling server may be configured to generate the first AOT compiled file.
Further, in the embodiment of the present application, when the server generates the installation file corresponding to the application to be installed, the server may first perform query processing according to the identification information to obtain a query result; the first AOT compiled file may then be further obtained according to the query result.
It is understood that, in the present application, the query result of the query processing performed by the server may be the existence of the first AOT compiled file or the absence of the first AOT compiled file.
For example, in an embodiment of the present application, after receiving a download request carrying identification information, a download server may perform query processing on a corresponding first AOT compiled file according to the identification information, and if the download server stores the first AOT compiled file corresponding to the identification information, it may be determined that a query result is that the first AOT compiled file exists; if the first AOT compiled file corresponding to the identification information is not stored in the download server, it may be determined that the first AOT compiled file does not exist as a result of the query.
Further, in this embodiment of the present application, when the server obtains the first AOT based on the query result, if the query result obtained after the query processing is that the first AOT compiled file exists, the server may directly read the first AOT compiled file.
That is, in the present application, after determining that the first AOT compiled file exists as a result of the query, the download server may directly read the first AOT compiled file corresponding to the identification information, which is stored in advance, from the storage space.
Further, in an embodiment of the present application, when the server acquires the first AOT based on the query result, if the query result obtained after the query processing is that the first AOT compiled file does not exist, the server may further perform compilation processing based on the identification information to generate the first AOT compiled file.
It should be noted that, in the embodiment of the present application, after determining that the query result is that the first AOT compiled file does not exist, the download server may invoke the compiling server to generate the first AOT compiled file. Specifically, the compiling server may select to invoke the executable program dexopt or to invoke the executable program dex2oat according to the identification information, thereby generating the first AOT compiled file corresponding to the identification information.
It can be understood that, in the embodiment of the present application, when the compiling server generates the first AOT compiled file according to the identification information, the compiling server may firstly parse and obtain the Android frame corresponding to the identification information, and then perform the compiling processing of the APK, so as to generate the first AOT compiled file. Specifically, in the present application, based on the identification information, the codec may call the executable program dexopt to generate an odex file, or call the executable program dex2oat to generate a vdex file.
The Android architecture is mainly divided into four parts, namely a KERNEL layer (LINUX KERNEL), a shared library, an Android runtime Library (LIBRARIES), an APPLICATION FRAMEWORK layer (APPLICATION FRAMEWORK), and an APPLICATION program (APPLICATION), from bottom to top.
The Android application framework provides APIs to developers at the application layer, which are actually a framework of applications. Since the upper layer applications are built in JAVA, this layer provides the following services: rich and extensible Views (Views), which can be used to build applications, include lists (lists), grids (grids), text boxes (text boxes), buttons (buttons), and even embeddable web browsers; content Providers (Content Providers) make it possible for an application to access data of another application (such as a contact database) or to share their own data; resource managers (Resource managers) provide access to non-code resources such as local strings, graphics, and layout files; a Notification Manager (Notification Manager) enables the application to display custom hints in the status bar; an Activity Manager (Activity Manager) is used to manage application lifecycle and provide the usual navigation fallback functionality.
It should be noted that, in the embodiment of the present application, after the compiling server completes the generation of the first AOT compiled file, the first AOT compiled file may be transmitted to the download server for storage.
And step 203, sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiling file and the APK file.
In the embodiment of the application, after the server obtains the installation file corresponding to the application to be installed, which is generated by the server, the server can also send the installation file to the client, so that the client can complete installation of the application to be installed according to the first AOT compiled file and the APK file.
It can be understood that, in the embodiment of the present application, after the download server reads the first AOT compiled file from the storage space, or after the download server obtains the first AOT compiled file transmitted by the compiling server, the download server may respond to the download request and send the installation file including the APK file corresponding to the application to be downloaded and the first AOT compiled file to the client.
Fig. 6 is a schematic view of an implementation flow of an installation method of an application program, as shown in fig. 6, in an embodiment of the present application, after a server generates an installation file corresponding to the application to be installed, that is, after step 202, the method for the server to install the application program may further include the following steps:
step 204, generating a file check code; the file check code comprises a first check code corresponding to the APK file and a second check code corresponding to the first AOT compiled file.
Step 205, sending the file check code to the client.
In the embodiment of the application, after the server completes generation of the installation file, a file check code corresponding to the installation file can be further generated, and then the file check code can be sent to the client, so that the client performs check processing based on the file check code.
It is understood that, in the embodiment of the present application, after the server generates the installation file for the installation of the application to be installed, the server may further perform the calculation of the file verification value, so as to obtain the file verification code. The file check code may include a first check code corresponding to the APK file, and may further include a second check code corresponding to the first AOT compiled file.
It should be noted that, in the present application, the first check code is used to perform check processing on the APK file, and the second check code is used to perform check processing on the first AOT compiled file, that is, to perform check processing on the odex file or the vdex file.
Note that, in the embodiment of the present application, the file check refers to checking of values of MD5, SHA1, and CRC32 of the file. Wherein, each file can be calculated by MD5 verification program to obtain a fixed MD5 code. Further, since MD5 is at risk of being modified, file verification can be performed by using message authentication code MAC, where MAC is a specific value string agreed between the sender and the receiver, when the sender sends a file, HASH calculation is performed by adding the file content to MAC (MAC is not sent with the file), even if a third party intercepts the file, correct HASH value can not be calculated because there is no MAC.
It should be noted that, in the embodiment of the present application, the client may send the installation file and the file check code through an application program interface through an API; wherein the API supports transmission of the first AOT compiled file and the file check code.
Specifically, the API is a predefined function or convention for linking different components of a software system. Can be used to provide a set of routines that applications and developers can access based on certain software or hardware without accessing source code or understanding the details of the internal workings.
That is, in the embodiment of the present application, the API may be adjusted on the basis of the native interface, so that the API supports the incoming odex file or vdex file and the related file check code, and thus the client and the server may perform transmission of the AOT compiled file and the file check code through the API.
In summary, in the embodiment of the present application, through the installation method of the application program proposed in the above step 201 to step 205, for the problems of slow installation process, large system resource occupation, and the like existing in the installation of the application by using the AOT method, generation of the odex file or the vdex file in the server is selected, so as to avoid the processing flow of the dexpt or the dex2oat at the client, and meanwhile, the server can perform AOT pre-compilation work for a specific system Rom through the identification information of the mobile device synchronized by the client, thereby ensuring that the binary file compiled by the server is completely consistent with the binary file compiled locally. Therefore, the application program installation method can improve the installation speed, reduce the resource overhead and ensure the reliability of the whole installation process on the basis of the original installation process.
That is to say, in the present application, since the server may obtain the odex file or the vdex file corresponding to the terminal device and transmit the odex file or the vdex file to the client, the client does not need to call the executable program dex2oat or dexopt to perform the precompilation of the APK any more, and thus the application installation speed can be greatly increased.
The embodiment of the application provides an installation method of an application program, wherein a server receives a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device; generating an installation file corresponding to an application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; and sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiling file and the APK file. That is to say, in the embodiment of the application, when the application is installed, the client does not execute the generation flow of the odex file or the vdex file any more, but directly acquires the odex file or the vdex file generated by the server, that is, the client does not perform pre-compilation processing on the APK any more, but the server completes the invocation of the executable program dex2oat or dexopt in advance, so that the installation efficiency of the application can be effectively improved, and the resource overhead is reduced.
Based on the foregoing embodiments, yet another embodiment of the present application provides an application installation method, which is applied to a client and a server, and fig. 7 is a schematic diagram illustrating an implementation flow of the application installation method, where as shown in fig. 7, the method for installing an application by a client and a server may include the following steps:
step 301, a client sends a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device.
In the embodiment of the application, the client may first send a download request of the application to be installed to the server, where the download request is used to obtain an installation file corresponding to the application to be installed.
It should be noted that, in the present application, the download request sent by the client to the server may carry identification information of the mobile device, where the mobile device is an intelligent device operating the client.
Further, in the embodiment of the present application, the identification information of the mobile device may be an identification of a read only memory ROM configured for the mobile device.
Step 302, the server generates an installation file corresponding to the application to be installed and generates a file check code corresponding to the installation file; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; the file check code comprises a first check code corresponding to the APK file and a second check code corresponding to the first AOT compiled file.
In the embodiment of the application, after receiving a download request of an application to be installed sent by a client, a server may generate an installation file corresponding to the application to be installed.
It should be noted that, in the embodiment of the present application, the installation file may include an APK file corresponding to the application to be installed, and may further include a first AOT compiled file corresponding to the application to be installed and the identification information.
It should be noted that, in this embodiment of the application, the first AOT compiled file may be a file generated by calling the executable program dex2oat or dexopt for the server to perform the compilation of the APK and run the application to be installed.
It is understood that, in the present application, the first AOT compiled file may include an odex file or a vdex file. Specifically, the server calling executable program dexopt may generate an odex file, and the server calling executable program dex2oat may generate a vdex file.
It should be noted that, in the present application, the first check code is used to perform check processing on the APK file, and the second check code is used to perform check processing on the first AOT compiled file, that is, to perform check processing on the odex file or the vdex file.
Step 303, the client acquires an installation file corresponding to the application to be installed generated by the server and a file check code corresponding to the installation file.
In the embodiment of the application, the client can send the download request of the application to be installed to the server, and after receiving the download request which is sent by the client and carries the identification information of the mobile device, the server can generate the installation file of the application to be installed, which corresponds to the mobile terminal running the client, according to the identification information.
It should be noted that, in the embodiment of the present application, the client may obtain the installation file and the file check code through an application program interface API; wherein the API supports transmission of the first AOT compiled file and the file check code.
And step 304, the client performs file verification processing on the APK file and the first AOT compiled file to obtain a verification result.
In the embodiment of the application, after the client acquires the installation file corresponding to the application to be installed, which is generated by the server, the client may further perform file verification processing on the APK file and the first AOT compiled file, so that a verification result may be obtained.
It should be noted that, in the embodiment of the present application, the verification result may include pass or fail, where the verification result can be pass only if both the APK file and the first AOT compiled file are verified successfully.
Step 305, the client determines whether the verification result is passed? If yes, go to step 306, otherwise go to step 308.
And step 306, the client performs installation processing according to the first AOT compiled file and the APK file.
In the embodiment of the application, after the client performs file verification processing on the APK file and the first AOT compiled file and obtains a verification result, if the verification result is passed, the client performs installation processing according to the first AOT compiled file and the APK file.
Step 307, is the installation abnormal? If yes, step 308 is performed, otherwise step 310 is performed.
And step 308, the client generates a second AOT compiled file through compiling processing.
In the embodiment of the application, after the client performs file verification processing on the APK file and the first AOT compiled file to obtain a verification result, if the verification result is that the APK file and the first AOT compiled file do not pass, the client needs to perform compilation processing to obtain a second AOT compiled file.
Further, in the embodiment of the present application, after the client executes file verification processing and determines that the verification result is passed, the client may select to use an existing AOT mode to install the application program if an installation exception occurs during the installation processing according to the first AOT compiled file and the APK, that is, the client performs compilation processing based on the identification information to generate the second AOT compiled file.
It is understood that, in the present application, the second AOT compiled file may include an odex file or a vdex file. Specifically, the client calls the executable program dexopt to generate an odex file, and the server calls the executable program dex2oat to generate a vdex file.
And 309, the client performs installation processing according to the second AOT compiled file and the APK file.
In the embodiment of the application, after the client generates the second AOT compiled file, the client may perform installation processing according to the second AOT compiled file and the APK file, that is, may complete installation of the application to be installed according to the existing AOT manner.
And step 310, the client completes the installation of the application to be installed.
In summary, in the embodiment of the present application, with the installation method of the application program proposed in the above steps 301 to 310, aiming at the problems of slow installation process, large system resource occupation, and the like existing in the installation of the application by using the AOT method, a processing flow of removing the dexopt or dex2oat at the client is selected, and the generation of the odex file or the vdex file is performed in the server, and at the same time, the identification information of the mobile device is synchronized with the server, so that the server performs the AOT pre-compilation operation for the specific system Rom, thereby ensuring that the binary file compiled by the server is completely consistent with the binary file compiled locally. Therefore, the application program installation method can improve the installation speed, reduce the resource overhead and ensure the reliability of the whole installation process on the basis of the original installation process.
Further, in an embodiment of the present application, the server may include a download server and a compiling server, where the download server may be configured to receive a download request sent by the client, and may also be configured to store the installation file, and the compiling server may be configured to generate the first AOT compiled file.
Fig. 8 is a seventh implementation flowchart of the application installation method, and as shown in fig. 8, the method for installing the application by the client and the server may include the following steps:
step 401, a client sends a download request of an application to be installed to a download server; wherein the download request carries identification information of the mobile device.
In the embodiment of the application, the client may first send a download request of the application to be installed to the download server, where the download request is used to obtain an installation file corresponding to the application to be installed.
It should be noted that, in the present application, the download request sent by the client to the download server may carry identification information of the mobile device, where the mobile device is an intelligent device operating the client.
Step 402, is the download server querying the first AOT compiled file corresponding to the identification information? If yes, go to step 405, otherwise go to step 403.
In an embodiment of the present application, the first AOT compiled file may invoke an executable program dex2oat or dexopt to perform the compilation of the APK for the server, and generate a file for running an application to be installed.
It is understood that, in the present application, the first AOT compiled file may include an odex file or a vdex file. Specifically, the server calling executable program dexopt may generate an odex file, and the server calling executable program dex2oat may generate a vdex file.
Step 403, the compiling server generates a first AOT compiled file.
In the embodiment of the application, after receiving a download request carrying identification information, a download server may perform query processing on a corresponding first AOT compiled file according to the identification information, and if it is determined that the first AOT compiled file does not exist, the compilation server may select to invoke an executable program dexopt or an executable program dex2oat according to the identification information, thereby generating the first AOT compiled file corresponding to the identification information.
Step 404, the compiling server transmits the first AOT compiled file to the downloading server.
In an embodiment of the present application, after the compiling server completes the generation of the first AOT compiled file, the first AOT compiled file may be transmitted to a download server for storage.
Step 405, the download server generates an installation file corresponding to the application to be installed, and generates a file check code corresponding to the installation file.
In an embodiment of the present application, the installation file may include an APK file corresponding to the application to be installed, and may further include a first AOT compiled file corresponding to the application to be installed and the identification information.
It should be noted that, in the present application, the first check code is used to perform check processing on the APK file, and the second check code is used to perform check processing on the first AOT compiled file, that is, to perform check processing on the odex file or the vdex file.
Step 406, the client acquires an installation file corresponding to the application to be installed and a file check code corresponding to the installation file.
In the embodiment of the application, after sending the download request of the application to be installed to the download server, the client may receive the installation file returned by the download server and responding to the download request.
It should be noted that, in the embodiment of the present application, the client may obtain the installation file and the file check code through an application program interface API; wherein the API supports transmission of the first AOT compiled file and the file check code.
Step 407, the client performs file verification processing on the APK file.
Step 408, is the APK file checked for pass? If so, go to step 410, otherwise go to step 409.
In an embodiment of the present application, the client may determine a first checksum of the APK file; if the first check sum is equal to the first check code, the check is considered to be passed, otherwise, the check is not passed.
Step 409, the client re-acquires the installation file, and step 407 is executed again.
And step 410, the client performs file verification processing on the first AOT compiled file.
Step 411, the first AOT compiled file checks whether it passes? If so, go to step 412, otherwise go to step 414.
In an embodiment of the present application, the client may determine a second checksum corresponding to the first AOT compiled file; if the second checksum is equal to the second checksum, the check is deemed to be passed, otherwise the check is not passed.
And step 412, the client performs installation processing according to the first AOT compiled file and the APK file.
In the embodiment of the application, after the client performs file verification processing on the APK file and the first AOT compiled file and obtains a verification result, if the verification result is passed, the client performs installation processing according to the first AOT compiled file and the APK file.
Step 413, is the installation abnormal? If yes, go to step 414, otherwise go to step 416.
And 414, generating a second AOT compiled file by the client through compiling processing.
In the embodiment of the present application, if the verification result of the first AOT compiled file is failed, the client needs to perform compilation processing, so as to obtain the second AOT compiled file.
Further, in the embodiment of the present application, in the process of performing installation processing according to the first AOT compiled file and the APK, if an abnormal installation occurs, the client may select to use the existing AOT mode to perform installation of the application program, that is, the client performs the compiling processing based on the identification information to generate the second AOT compiled file.
It is understood that, in the present application, the second AOT compiled file may include an odex file or a vdex file. Specifically, the client calls the executable program dexopt to generate an odex file, and the server calls the executable program dex2oat to generate a vdex file.
And 415, the client performs installation processing according to the second AOT compiled file and the APK file.
In the embodiment of the application, after the client generates the second AOT compiled file, the client may perform installation processing according to the second AOT compiled file and the APK file, that is, may complete installation of the application to be installed according to the existing AOT manner.
Step 416, the client completes the installation of the application to be installed.
Therefore, as can be seen from the installation method of the application program provided in the above steps 401 to 416, the client initiates a download request to request the download server and indicate the identifier information of the Rom version of the current device, the download server queries whether there is an AOT compiled file (odex/vdex) corresponding to the identifier information, if there is no AOT compiled file, the compilation server is called to download the Android frame corresponding to the identifier information, and start the dex2oat task to generate an AOT compiled file (odex/vdex), and then the generated odex/vdex is returned to the download server for storage, and a file check value is calculated; then, the client can carry out file verification processing after downloading the APK file and the AOT compiled file, and a re-downloading flow is started if APK verification fails; if the verification of the AOT compiled file fails, the client directly uses the existing native installation mode for installation processing, namely, the AOT mode is used for compiling processing to generate the AOT compiled file; if the verification of the AOT compiled file is successful, the client uses the AOT generated by the server to carry out installation processing, and if abnormal installation occurs in the installation process, the client can select the existing native installation mode to carry out the installation processing.
It can be understood that, in the Application program installation method provided by the Application program, the most time-consuming dex2oat operation is completed at the server side, the odex/vdex file corresponding to the Application Binary Interface (ABI) of the device is issued along with the APK in the Application distribution link, and finally the Application installation is completed through the modified system Interface. Because the dex2oat is finished in advance, the step can be omitted in the installation link, the system resource overhead can be greatly reduced, and the application installation speed can be improved. On the basis of the native interface, the API is adjusted to support the incoming odex/vdex and the related file check code; if vdex/odex is incoming and the file check passes, then the Dex2oat flow is skipped.
That is to say, in the application, the client no longer calls the executable program dex2oat or dexopt to execute the precompilation of the APK, but directly obtains the odex file or the vdex file corresponding to the terminal device from the server, so that the application installation speed can be greatly increased.
The embodiment of the application provides an installation method of an application program, wherein a client sends a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device; acquiring an installation file corresponding to an application to be installed generated by a server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result; and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiling file and the APK file. The method comprises the steps that a server receives a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device; generating an installation file corresponding to an application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; and sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiling file and the APK file. That is to say, in the embodiment of the application, when the application is installed, the client does not execute the generation flow of the odex file or the vdex file any more, but directly acquires the odex file or the vdex file generated by the server, that is, the client does not perform pre-compilation processing on the APK any more, but the server completes the invocation of the executable program dex2oat or dexopt in advance, so that the installation efficiency of the application can be effectively improved, and the resource overhead is reduced.
Based on the foregoing embodiment, in another embodiment of the present application, fig. 9 is a schematic diagram of a composition structure of a client, as shown in fig. 9, a client 10 according to an embodiment of the present application may include a first sending unit 11, an obtaining unit 12, a verifying unit 13, and an installing unit 14,
the first sending unit 11 is configured to send a download request of an application to be installed to a server; wherein the download request carries identification information of the mobile device;
the obtaining unit 12 is configured to obtain an installation file corresponding to the application to be installed, which is generated by the server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
the verification unit 13 is configured to perform file verification processing on the APK file and the first AOT compiled file to obtain a verification result;
the installation unit 14 is configured to complete installation of the application to be installed according to the first AOT compiled file and the APK file if the verification result is that the application passes.
Further, an embodiment of the present application provides a terminal, where the terminal runs the client as described in the foregoing embodiment, fig. 10 is a schematic structural diagram of the terminal, and as shown in fig. 10, a terminal 20 provided in the embodiment of the present application may include a first processor 201, a first memory 202 storing executable instructions of the first processor 201, and further, the terminal 20 may further include a first communication interface 203, and a first bus 204 for connecting the first processor 201, the first memory 202, and the first communication interface 203.
In an embodiment of the present Application, the first Processor 201 may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a ProgRAMmable Logic Device (PLD), a Field ProgRAMmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understood that the electronic devices for implementing the above processor functions may be other devices, and the embodiments of the present application are not limited in particular. The terminal 20 may further comprise a first memory 202, which first memory 202 may be connected to the first processor 201, wherein the first memory 202 is adapted to store executable program code comprising computer operating instructions, and the first memory 202 may comprise a high speed RAM memory and may further comprise a non-volatile memory, such as at least two disk memories.
In the embodiment of the present application, the first bus 204 is used to connect the first communication interface 203, the first processor 201, and the first memory 202 and to communicate among these devices.
In an embodiment of the present application, the first memory 202 is used for storing instructions and data.
Further, in an embodiment of the present application, the first processor 201 is configured to send a request for downloading an application to be installed to a server; wherein the download request carries identification information of the mobile device; acquiring an installation file corresponding to the application to be installed, which is generated by the server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result; and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiled file and the APK file.
Further, an embodiment of the present application provides a server, fig. 11 is a schematic structural diagram of the server, and as shown in fig. 11, a server 30 according to the embodiment of the present application may include a receiving unit 31, a generating unit 32, and a second sending unit 33,
the receiving unit 31 is configured to receive a download request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device;
the generating unit 32 is configured to generate an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
the second sending unit 33 is configured to send the installation file to the client, so that the client completes installation of the application to be installed according to the first AOT compiled file and the APK file.
In an embodiment of the present application, further, fig. 12 is a schematic diagram illustrating a composition structure of a server, as shown in fig. 12, the server 30 according to the embodiment of the present application may further include a second processor 304, a second memory 305 storing an executable instruction of the second processor 304, and further, the server 30 may further include a second communication interface 306, and a second bus 307 for connecting the second processor 304, the second memory 305, and the second communication interface 306.
In an embodiment of the present Application, the second Processor 304 may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a ProgRAMmable Logic Device (PLD), a Field ProgRAMmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understood that the electronic devices for implementing the above processor functions may be other devices, and the embodiments of the present application are not limited in particular. The server 30 may further comprise a second memory 305, which second memory 305 may be connected to the second processor 304, wherein the second memory 305 is adapted to store executable program code comprising computer operating instructions, and wherein the second memory 305 may comprise a high speed RAM memory and may further comprise a non-volatile memory, such as at least two disk memories.
In the embodiment of the present application, the second bus 307 is used for connecting the second communication interface 306, the second processor 304 and the second memory 305 and for mutual communication between these devices.
In an embodiment of the present application, the second memory 305 is used for storing instructions and data.
Further, in an embodiment of the present application, the second processor 304 is configured to receive a download request of an application to be installed, where the download request is sent by a client; wherein the download request carries identification information of the mobile device; generating an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; and sending the installation file to the client so that the client completes the installation of the application to be installed according to the first AOT compiling file and the APK file.
In addition, each functional module in this embodiment 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 integrated unit can be realized in a form of hardware or a form of a software functional module.
Based on the understanding that the technical solution of the present embodiment essentially or a part contributing to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium, and include several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to execute all or part of the steps of the method of the present embodiment. 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.
The embodiment of the application provides a client, a server and a terminal for operating the client, wherein the client sends a downloading request of an application to be installed to the server; wherein the download request carries identification information of the mobile device; acquiring an installation file corresponding to an application to be installed generated by a server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result; and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiling file and the APK file. The method comprises the steps that a server receives a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device; generating an installation file corresponding to an application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information; and sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiling file and the APK file. That is to say, in the embodiment of the application, when the application is installed, the client does not execute the generation flow of the odex file or the vdex file any more, but directly acquires the odex file or the vdex file generated by the server, that is, the client does not perform pre-compilation processing on the APK any more, but the server completes the invocation of the executable program dex2oat or dexopt in advance, so that the installation efficiency of the application can be effectively improved, and the resource overhead is reduced.
An embodiment of the present application provides a computer-readable storage medium, on which a program is stored, which when executed by a processor implements the installation method of an application program as described above.
Specifically, the program instructions corresponding to an installation method of an application program in the present embodiment may be stored on a storage medium such as an optical disc, a hard disk, or a usb disk, and when the program instructions corresponding to an installation method of an application program in the storage medium are read or executed by an electronic device, the method includes the steps of:
sending a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device;
acquiring an installation file corresponding to the application to be installed, which is generated by the server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result;
and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiled file and the APK file.
Specifically, the program instructions corresponding to an installation method of an application program in the present embodiment may be stored on a storage medium such as an optical disc, a hard disk, or a usb disk, and when the program instructions corresponding to an installation method of an application program in the storage medium are read or executed by an electronic device, the method includes the steps of:
receiving a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device;
generating an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
and sending the installation file to the client so that the client completes the installation of the application to be installed according to the first AOT compiling file and the APK file.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of implementations of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart block or blocks and/or flowchart block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks in the flowchart and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present application, and is not intended to limit the scope of the present application.

Claims (14)

1. An installation method of an application program, which is applied to a client, and comprises the following steps:
sending a downloading request of an application to be installed to a server; wherein the download request carries identification information of the mobile device;
acquiring an installation file corresponding to the application to be installed, which is generated by the server; the installation files comprise an application program package (APK) file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
carrying out file verification processing on the APK file and the first AOT compiled file to obtain a verification result;
and if the verification result is that the application to be installed passes, completing installation of the application to be installed according to the first AOT compiled file and the APK file.
2. The method of claim 1, wherein the first AOT compiled file comprises an odex file or a vdex file.
3. The method according to claim 2, wherein before performing file verification processing on the APK file and the first AOT compiled file and obtaining a verification result, the method further comprises:
acquiring a file check code generated by the server; the file check code comprises a first check code corresponding to the APK file and a second check code corresponding to the first AOT compiled file.
4. The method according to claim 3, wherein the performing file verification processing on the APK file and the first AOT compiled file to obtain a verification result includes:
determining a first checksum of the APK file;
if the first checksum is equal to the first check code, determining a second checksum corresponding to the first AOT compiled file;
if the second checksum is equal to the second check code, determining that the check result is a pass;
and if the second checksum is not equal to the second check code, determining that the check result is not passed.
5. The method of claim 4, wherein after determining the first checksum of the APK file, the method further comprises:
and if the first checksum is not equal to the first check code, the installation file generated by the server is obtained again.
6. The method according to claim 4, wherein after performing file verification processing on the APK file and the first AOT compiled file and obtaining a verification result, the method further comprises:
if the verification result is that the verification result does not pass, generating a second AOT compiling file through compiling processing;
and completing the installation of the application to be installed according to the second AOT compiling file and the APK file.
7. The method of claim 6, further comprising:
when the installation processing is carried out according to the first AOT compiled file and the APK, if the installation is abnormal, the compilation processing is carried out based on the identification information, and the second AOT compiled file is generated;
and completing the installation of the application to be installed according to the second AOT compiling file and the APK file.
8. The method of claim 3, further comprising:
acquiring the installation file and the file check code through an Application Programming Interface (API); wherein the API supports transmission of the first AOT compiled file and the file check code.
9. An installation method of an application program, which is applied to a server, and comprises the following steps:
receiving a downloading request of an application to be installed, which is sent by a client; wherein the download request carries identification information of the mobile device;
generating an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
and sending the installation file to the client so that the client completes the installation of the application to be installed according to the first AOT compiling file and the APK file.
10. A client, the client comprising: a first sending unit, an obtaining unit, a checking unit and an installing unit,
the first sending unit is used for sending a downloading request of the application to be installed to the server; wherein the download request carries identification information of the mobile device;
the obtaining unit is used for obtaining an installation file corresponding to the application to be installed generated by the server; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
the verification unit is used for performing file verification processing on the APK file and the first AOT compiled file to obtain a verification result;
and the installation unit is used for finishing the installation of the application to be installed according to the first AOT compiled file and the APK file if the verification result is that the application passes.
11. A terminal, characterized in that the terminal runs the client according to claim 10, the terminal comprising a first processor, a first memory storing instructions executable by the first processor, the instructions, when executed by the first processor, implementing the method according to any one of claims 1-8.
12. A server, characterized in that the server comprises: a receiving unit, a generating unit and a second transmitting unit,
the receiving unit is used for receiving a downloading request of the application to be installed, which is sent by the client; wherein the download request carries identification information of the mobile device;
the generating unit is used for generating an installation file corresponding to the application to be installed; the installation files comprise an APK file corresponding to the application to be installed and a first AOT compiling file corresponding to the application to be installed and the identification information;
and the second sending unit is used for sending the installation file to the client so that the client completes installation of the application to be installed according to the first AOT compiled file and the APK file.
13. A server, comprising a second processor, a second memory storing instructions executable by the second processor, the instructions when executed by the second processor implementing the method of claim 9.
14. A computer-readable storage medium, on which a program is stored, for application in a client and a server, wherein the program, when executed by a first processor, implements the method of any one of claims 1-8; the program, when executed by a second processor, implements the method of claim 9.
CN202011492499.4A 2020-12-16 2020-12-16 Application program installation method, client, terminal, server and storage medium Pending CN113031957A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011492499.4A CN113031957A (en) 2020-12-16 2020-12-16 Application program installation method, client, terminal, server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011492499.4A CN113031957A (en) 2020-12-16 2020-12-16 Application program installation method, client, terminal, server and storage medium

Publications (1)

Publication Number Publication Date
CN113031957A true CN113031957A (en) 2021-06-25

Family

ID=76459258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011492499.4A Pending CN113031957A (en) 2020-12-16 2020-12-16 Application program installation method, client, terminal, server and storage medium

Country Status (1)

Country Link
CN (1) CN113031957A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254065A (en) * 2021-07-14 2021-08-13 广州易方信息科技股份有限公司 Application software compatibility method and device
CN114168172A (en) * 2021-11-11 2022-03-11 阿波罗智联(北京)科技有限公司 Application program installation method and device, electronic equipment and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982258A (en) * 2012-11-09 2013-03-20 北京深思洛克软件技术股份有限公司 System for conducting original-edition check to mobile application program
CN104123481A (en) * 2013-04-24 2014-10-29 贝壳网际(北京)安全技术有限公司 Method and device for preventing application program from being tampered
CN104954353A (en) * 2015-02-10 2015-09-30 腾讯科技(深圳)有限公司 Verification method and apparatus of APK file package
CN107168742A (en) * 2017-05-19 2017-09-15 中南大学 Application quick deployment method based on customization Android platform
CN107766747A (en) * 2017-10-31 2018-03-06 维沃移动通信有限公司 Method, mobile terminal and the server of verification Application program installation kit integrality
CN109558732A (en) * 2017-09-27 2019-04-02 武汉斗鱼网络科技有限公司 A kind of method for preventing application file to be tampered and server
CN111061484A (en) * 2019-11-28 2020-04-24 Oppo广东移动通信有限公司 Code compiling method, device, server, user terminal and readable medium
CN111143869A (en) * 2019-12-30 2020-05-12 Oppo广东移动通信有限公司 Application package processing method and device, electronic equipment and storage medium
CN111199039A (en) * 2018-11-20 2020-05-26 成都鼎桥通信技术有限公司 Application security verification method and device and terminal equipment
CN111492345A (en) * 2018-10-15 2020-08-04 华为技术有限公司 Method for optimizing and running android application program and related device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982258A (en) * 2012-11-09 2013-03-20 北京深思洛克软件技术股份有限公司 System for conducting original-edition check to mobile application program
CN104123481A (en) * 2013-04-24 2014-10-29 贝壳网际(北京)安全技术有限公司 Method and device for preventing application program from being tampered
CN104954353A (en) * 2015-02-10 2015-09-30 腾讯科技(深圳)有限公司 Verification method and apparatus of APK file package
CN107168742A (en) * 2017-05-19 2017-09-15 中南大学 Application quick deployment method based on customization Android platform
CN109558732A (en) * 2017-09-27 2019-04-02 武汉斗鱼网络科技有限公司 A kind of method for preventing application file to be tampered and server
CN107766747A (en) * 2017-10-31 2018-03-06 维沃移动通信有限公司 Method, mobile terminal and the server of verification Application program installation kit integrality
CN111492345A (en) * 2018-10-15 2020-08-04 华为技术有限公司 Method for optimizing and running android application program and related device
CN111199039A (en) * 2018-11-20 2020-05-26 成都鼎桥通信技术有限公司 Application security verification method and device and terminal equipment
CN111061484A (en) * 2019-11-28 2020-04-24 Oppo广东移动通信有限公司 Code compiling method, device, server, user terminal and readable medium
CN111143869A (en) * 2019-12-30 2020-05-12 Oppo广东移动通信有限公司 Application package processing method and device, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254065A (en) * 2021-07-14 2021-08-13 广州易方信息科技股份有限公司 Application software compatibility method and device
CN114168172A (en) * 2021-11-11 2022-03-11 阿波罗智联(北京)科技有限公司 Application program installation method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US11409949B2 (en) Mobile device resource provisioning system and method
CN109739573B (en) Processing method and device for realizing API (application program interface) call and system for realizing API
CN105100191B (en) The method, apparatus and system of Java application installations are realized in a kind of cloud compiling
CN102279765B (en) Pre-compiling hosted managed code
US9946873B2 (en) Methods and apparatuses for secure compilation
US9880819B2 (en) Methods and apparatuses for a compiler server
CN114077423A (en) Airport APP development container architecture based on mobile cross-platform
CN113031957A (en) Application program installation method, client, terminal, server and storage medium
CN112083968A (en) Plug-in loading method and device in host
CN113946602A (en) Data searching method, device, equipment and medium
CN113296987B (en) Interface calling method and device for calling module, computer equipment and storage medium
Son et al. Offloading Method for Efficient Use of Local Computational Resources in Mobile Location‐Based Services Using Clouds
CN111090442B (en) Application updating method, device and storage medium
CN115758424A (en) Data processing method and device, electronic equipment and computer readable storage medium
CN115760391A (en) Intelligent contract changing method and device in block chain, electronic equipment and storage medium
CN115374083A (en) Data source switching method and device, electronic equipment and storage medium
CN115129348A (en) Resource updating method, device and equipment of application program and readable storage medium
CN114860202A (en) Project operation method, device, server and storage medium
CN116700694B (en) Applet engine
CN113742668A (en) Information acquisition method and device, computer equipment and computer readable storage medium
CN114356359A (en) Application program installation method, device, equipment and storage medium
CN116644481A (en) Verification method, verification device, verification equipment and readable storage medium
CN114416219A (en) System function calling method and device, electronic equipment and readable medium
TWI567563B (en) A user input screen generation system and a method thereof
CN116069467A (en) Implementation method and system for starting and closing multiple local application programs based on electronics

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