CN121411787A - Application installation package distribution methods, application installation package processing methods, and electronic devices - Google Patents
Application installation package distribution methods, application installation package processing methods, and electronic devicesInfo
- Publication number
- CN121411787A CN121411787A CN202511488247.7A CN202511488247A CN121411787A CN 121411787 A CN121411787 A CN 121411787A CN 202511488247 A CN202511488247 A CN 202511488247A CN 121411787 A CN121411787 A CN 121411787A
- Authority
- CN
- China
- Prior art keywords
- installation package
- file
- target
- function
- application
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
The embodiment of the application discloses a distribution method of an application installation package, a processing method of the application installation package and electronic equipment. The method for distributing the application installation package is applied to a server and comprises the steps of obtaining a target installation package set corresponding to a target application, uploading the target installation package set by research and development equipment corresponding to the target application, receiving equipment information from terminal equipment, and sending one or more installation package files in the target installation package set to the terminal equipment according to the equipment information, wherein the one or more installation package files are used for installing or updating the target application by the terminal equipment. In the embodiment of the application, the volume of the installation package distributed to the terminal equipment by the server can be reduced, the application distribution efficiency is improved, the consistency of the installation package file uploaded by the research and development equipment and the installation package file installed by the terminal equipment can be ensured, and the stability of the target application is improved.
Description
Technical Field
The application relates to the technical field of internet, in particular to a distribution method of application installation packages, a processing method of application installation packages and electronic equipment.
Background
In the mobile internet era, application (APP) has become an indispensable tool on a terminal device, and can help users realize rich functions such as life, entertainment and work. The terminal device generally needs to acquire various applications through an installation package in which the applications are downloaded and installed by an application store.
Currently, an installation package of an application program generally contains all functions and resources of the application program, and seriously affects the efficiency of distributing the installation package of the application program to a terminal device by a server.
Disclosure of Invention
The embodiment of the application discloses a distribution method of an application installation package, a processing method of the application installation package and electronic equipment, which can reduce the volume of the installation package distributed to terminal equipment by a server, improve the application distribution efficiency, ensure that an installation package file uploaded by research and development equipment is consistent with an installation package file installed by the terminal equipment, and improve the stability of target application.
The embodiment of the application discloses a distribution method of an application installation package, which is applied to a server and comprises the following steps:
Acquiring a target installation package set corresponding to a target application, wherein the target installation package set is uploaded by research and development equipment corresponding to the target application, and comprises basic installation package files corresponding to basic modules and function installation package files corresponding to one or more function modules respectively;
receiving device information from a terminal device;
And sending one or more installation package files in the target installation package set to the terminal equipment according to the equipment information, wherein the one or more installation package files are used for installing or updating the target application by the terminal equipment.
The embodiment of the application discloses a processing method of an application installation package, which is applied to research and development equipment, and comprises the following steps:
The method comprises the steps of uploading a target installation package set corresponding to a target application to a server, wherein the target installation package set comprises basic installation package files corresponding to basic modules and function installation package files corresponding to one or more function modules respectively, the target installation package set is used for sending one or more installation package files in the target installation package set to the terminal equipment according to equipment information of the terminal equipment, and the one or more installation package files are used for installing or updating the target application by the terminal equipment.
The embodiment of the application discloses a processing method of an application installation package, which is applied to terminal equipment, and comprises the following steps:
Transmitting device information to a server, wherein the device information is used for indicating the server to transmit one or more installation package files in a target installation package set corresponding to a target application, the target installation package set is uploaded by research and development equipment corresponding to the target application, and the target installation package set comprises basic installation package files corresponding to basic modules and function installation package files corresponding to one or more function modules respectively;
receiving the one or more installation package files from the server;
and installing or updating the target application according to the one or more installation package files.
The embodiment of the application discloses electronic equipment, which comprises a memory, a processor and a receiving and transmitting unit, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the electronic equipment realizes the method in any embodiment.
An embodiment of the application discloses a computer-readable storage medium, on which a computer program is stored which, when executed by a processor in an electronic device, causes the electronic device to implement a method as described in any of the embodiments above.
Embodiments of the application disclose a computer program product comprising a computer program which, when executed by a processor in an electronic device, causes the electronic device to implement a method as described in any of the embodiments above.
The embodiment of the application discloses a distribution method and device of an application installation package, a processing method and device of the application installation package, electronic equipment and program products. The research and development equipment uploads a target installation package set corresponding to the target application to a server, wherein the target installation package set comprises basic installation package files corresponding to basic modules and function installation package files corresponding to one or more function modules respectively, the server receives equipment information from the terminal equipment and sends one or more installation package files in the target installation package set to the terminal equipment according to the equipment information, so that the terminal equipment installs or updates the target application according to the one or more installation package files sent by the server. In the embodiment of the application, the server can distribute the installation package files actually required by the terminal equipment to the terminal equipment according to the equipment information of the terminal equipment, can reduce the volume of the installation package distributed by the server to the terminal equipment, improves the application distribution efficiency, realizes the downloading and installation of the installation package files according to the needs of the terminal equipment, and directly sends the installation package files in the target installation package set uploaded by the research and development equipment to the terminal equipment, thereby ensuring that the installation package files uploaded by the research and development equipment are consistent with the installation package files installed by the terminal equipment and improving the stability of target application.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is an application scenario diagram of a distribution method of an application installation package and a processing method of the application installation package in one embodiment;
FIG. 2A is a flow chart of a developer publishing application in the related art;
FIG. 2B is a diagram of a dependency tree between APKs of an application in one embodiment;
FIG. 3 is a timing diagram of a distribution method of an application installation package and a processing method of the application installation package in one embodiment;
FIG. 4 is a flow diagram of a method of distribution of application installation packages in one embodiment;
FIG. 5A is a schematic diagram of a target installation package set in one embodiment;
FIG. 5B is a CI pipeline diagram of a build target application in one embodiment;
FIG. 6A is a schematic diagram of a target installation package set in another embodiment;
FIG. 6B is a CI pipeline diagram of another embodiment for constructing a target application;
FIG. 7 is a flow chart of a method of distribution of application installation packages in another embodiment;
FIG. 8 is a flow diagram of a server checking whether a terminal device needs to update a target application in one embodiment;
FIG. 9 is a flow diagram that illustrates server distribution of installation package files to terminal devices on demand, in one embodiment;
FIG. 10 is a schematic diagram of a distribution flow of an application installation package in one embodiment;
FIG. 11 is a flow diagram of a method of processing an application installation package in one embodiment;
FIG. 12 is a flow chart of a method of processing an application installation package in another embodiment;
FIG. 13 is a block diagram of a distribution device of an application installation package in one embodiment;
FIG. 14 is a block diagram of a processing device for an application installation package in one embodiment;
FIG. 15 is a block diagram of a processing device for an application installation package in another embodiment;
FIG. 16 is a block diagram of a server in one embodiment.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be noted that the terms "comprising" and "having" and any variations thereof in the embodiments of the present application and the accompanying drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It will be understood that the terms first, second, etc. as used herein may be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish one element from another element. For example, a first set of installation packages may be referred to as a second set of installation packages, and similarly, a second set of installation packages may be referred to as a first set of installation packages without departing from the scope of the application. Both the first set of installation packages and the second set of installation packages are sets of installation packages, but they are not the same set of installation packages. The term "plurality" as used herein refers to two and more than two. The term "and/or" as used herein refers to one of, or any combination of, the various schemes therein.
In the related art, a plug-in application update technology is generally used to update an application program installed on a terminal device, so that the code and/or resources of the application program can be repaired or updated without triggering the update of the version of the application program. However, the plug-in application update technology has high technical complexity, different plug-in update schemes have different capabilities, such as some schemes support the update of four large components (e.g. onCreate logic modification to Activity), and some schemes only support the repair or update of non-four large components, often have version compatibility problems with an operating system, resulting in higher development cost.
The embodiment of the application discloses a distribution method and a distribution device of an application installation package, a processing method and a processing device of the application installation package, electronic equipment and a program product, which can reduce the volume of the installation package distributed to terminal equipment by a server, improve the application distribution efficiency, ensure that an installation package file uploaded by research and development equipment is consistent with an installation package file installed by the terminal equipment, and improve the stability of target application. In addition, the updating of the terminal equipment to the target application is realized based on the installation service of the operating system, and the problems of poor compatibility, poor stability, high maintenance cost and the like of the traditional plug-in updating mode can be solved.
Fig. 1 is an application scenario diagram of a distribution method of an application installation package and a processing method of the application installation package in one embodiment. As shown in fig. 1, the server 120 may be communicatively connected to the development device 110 and the terminal device 130, respectively. The development device 110 may refer to an electronic device used by a developer of the application program, and the terminal device 130 may refer to an electronic device used by a user of the application program.
A developer of different applications may upload an installation package of an application to the server 120 through the development device 110, and the server 120 manages and stores the installation packages of a plurality of applications, thereby providing the terminal device 130 with a download function of a plurality of applications. The server 120 may be a server of a software store, for example.
In some embodiments, server 120 may set up a repository that may be used to store installation packages for multiple applications. Alternatively, the server 120 may be a separate physical server, a cloud server, or a server cluster composed of a plurality of servers, which is not limited herein.
Alternatively, research and development device 110 may include, but is not limited to, a cell phone, a wearable device (e.g., smart watch, smart glasses, etc.), a tablet, a notebook, a PC (Personal Computer ), and the like.
Alternatively, the terminal device 130 may include, but is not limited to, a mobile phone, a wearable device (e.g., smart watch, smart glasses, etc.), a vehicle-mounted terminal, a tablet computer, a notebook computer, a PC, a smart home device, etc.
In an embodiment of the present application, a developer of the target application may upload, through the developing device 110, a target installation package set corresponding to the target application to the server 120, where the target installation package set may include a basic installation package file corresponding to a basic module of the target application, and function installation package files corresponding to one or more function modules of the target application respectively.
In some embodiments, the basic installation package file and the functional installation package file included in the target installation package set corresponding to the target application may be APK (Android application package ) files, and the target installation package set may be APKS files. The set of target installation packages may be compiled from AAB (Android App Bundle) files of the target application by the development device 110.
The AAB is an application release format recently introduced in recent years, and can replace the traditional APK format, and the AAB format supports terminal equipment to download resources of application programs as required, so that the volume of an installation package is reduced, and the downloading speed and the installation efficiency of the application programs are improved. Fig. 2A is a flowchart of a developer publishing application according to the related art. As shown in fig. 2A, the developer uploads the AAB file (file with extension. AAB) of the application to the server, which converts the AAB file into APKs collection (file with extension. Apks) by SPLIT APKS technology (a modular technology).
The AAB file may be split into class 3 APK files, base APK, configuration APK (Config APK), and function module APK (Feature APK).
The basic APK contains codes and resources which can be accessed by all other split APKs, and provides basic functions of application programs. The manifest of the basic APK contains complete statements about the services, content providers, rights, platform version requirements and dependencies on system functions of the application. When the terminal equipment of the user requests to download the application program, the basic APK is downloaded and installed first so as to ensure the normal operation of the application program.
The configuration APK includes a native library and resources for specific device characteristics (such as screen density, CPU architecture or language, etc.), and the terminal device may only download and install its own corresponding configuration APK. Each configuration APK is a dependency of the basic APK or the function module APK, and the configuration APK may be downloaded and installed together with the basic APK or the function module APK, and thus, a module may not be separately created for the configuration APK.
The function module APK may contain code and resources of the corresponding application function. After the terminal equipment installs the basic APK on the equipment, the terminal equipment installs the function modules APK corresponding to certain application functions of the application program according to the requirement. For example, for a chat application, the terminal device may download and install the function module APK corresponding to the function of capturing and transmitting a photograph provided by the chat application only when the user wants to capture and transmit a photograph. The general code and general resources of all functional modules APKs of an application program may be contained in the basic APK. The developer can also customize the downloading rules corresponding to each function module APK, such as downloading the function module APK when installing an application program, downloading the function module APK when the user triggers the corresponding application function on the terminal device, or downloading the function module APK periodically, etc.
Illustratively, FIG. 2B is a schematic diagram of a dependency tree between APKs of an application in one embodiment. As shown in fig. 2B, the basic APK forms the head of the dependency tree, and the other APKs depend on the basic APK. For example, the application program comprises 3 dynamic function modules, namely dynamic function module 1, dynamic function module 2 and dynamic function module 3, wherein the APK of each dynamic function module can comprise a main APK file corresponding to the function module and a function configuration installation package set. Each set of function configuration installation packages may include one or more function configuration APK files, each of which may include code for the function module and configuration resources associated with the function module. For each type of device configuration, if the functional module of the application program contains relevant configuration resources, the application program has a corresponding functional configuration APK file.
For example, the function module APK corresponding to the dynamic function module 2 includes a function configuration installation package set corresponding to 3 kinds of device configuration, a function configuration installation package set corresponding to screen density, a function configuration installation package set corresponding to ABI (Application Binary Interface ), and a function configuration installation package set corresponding to language. Further, the set of function configuration installation packages corresponding to the screen density may include a plurality of function configuration APK files corresponding to different screen densities, the set of function configuration installation packages corresponding to the ABI may include a plurality of function configuration APK files corresponding to different CPU (Central Processing Unit ) architectures, and the set of function configuration installation packages corresponding to the language may include function configuration APK files of a plurality of different languages. For example, feature2-x86.Apk may include code of dynamic function module 2 and resources of x86 architecture, feature2-en. Apk may include code of dynamic function module 2 and english resources, etc., which are not described herein.
In the related art, a developer uploads an AAB file (a file with an extension of. AAB) of an application program to a server, and the server compiles the AAB file into APKs files, so that the developer cannot accurately control an installation package file compiled by the server, and the server can only perform complete distribution of a basic APK and a functional module APK, and does not support update of a single functional module of the application program, thereby influencing update efficiency of the application program.
In the embodiment of the present application, the research and development device 110 directly uploads the target installation package set corresponding to the target application to the server 120, further, the research and development device 110 directly uploads the APKs files compiled by the AAB files, instead of uploading the AAB files, so that a developer can accurately control each installation package file in the target installation package set, ensure that the tested installation package files, the uploaded installation package files, the installation package files installed in the terminal device 130 and the installation package files actually operated by the terminal device 130 are completely consistent, improve the stability of the target application, and can realize the update of a single functional module and improve the update efficiency of the application program.
Fig. 3 is a timing diagram of a distribution method of an application installation package and a processing method of the application installation package in one embodiment. As shown in fig. 3, the server, the research and development device and the terminal device may interact according to the following steps:
Step 1, the research and development equipment uploads a target installation package set corresponding to a target application to a server. Accordingly, the server receives the set of target installation packages from the development device.
The target installation package set corresponding to the target application may include a basic installation package file corresponding to the basic module, and function installation package files corresponding to one or more function modules respectively.
And step 2, the terminal equipment sends equipment information to the server. Accordingly, the server receives device information from the terminal device.
And step 3, the server sends one or more installation package files in the target installation package set to the terminal equipment according to the equipment information. Accordingly, the terminal device receives one or more installation package files from the server.
And 4, the terminal equipment installs or updates the target application according to the one or more installation package files.
As shown in fig. 4, a distribution method of an application installation package is provided, which is applicable to the server described above. The method may comprise the steps of:
In step 410, a target installation package set corresponding to the target application is obtained, where the target installation package set is uploaded by a developing device corresponding to the target application, and the target installation package set includes a basic installation package file corresponding to the basic module, and function installation package files corresponding to one or more function modules respectively.
The developer of the target application can upload the target installation package set corresponding to the target application to the server through the research and development equipment, and the server provides the requirements of downloading, updating and the like of the target application for the terminal equipment. The target installation package set may include a basic installation package file corresponding to a basic module of the target application, and function installation package files corresponding to one or more function modules of the target application, respectively. The target installation package set is the latest installation package set of the target application.
The basic installation package file and the function installation package file may be files that can be directly installed in the terminal device, for example, the basic installation package file and the function installation package file may be APK files, and the server or the terminal device may directly install the installation package file in the terminal device without compiling the installation package files in the target installation package set.
The basic module of the target application may refer to a module that provides basic functions of the target application, and normal operation of the target application must depend on the basic module. Illustratively, the basic installation package file corresponding to the basic module may be the basic APK described in the above embodiment.
The function modules of the target application may refer to modules of certain application functions provided in the target application, and the terminal device may selectively acquire one or more function modules of the target application according to the requirements, not necessarily acquire all function modules of the target application. For example, the function installation package file corresponding to the function module may be the function module APK described in the above embodiment.
In some embodiments, the target installation package set may include a basic installation package file corresponding to a basic module of the target application, and a function installation package file corresponding to all function modules of the target application, respectively. For example, the target application includes a basic module and 5 functional modules, where the 5 functional modules respectively correspond to different application functions or services, and the target installation package set may include a basic installation package file and function installation package files corresponding to the 5 functional modules respectively. When a developer issues a basic version of a target application or issues an updated version of the target application, the target installation package set uploaded by the research and development equipment contains function installation package files of all function modules, so that different terminal equipment can download required and latest installation package files, and the server only needs to manage one target installation package set uploaded by the research and development equipment, so that the management cost of the application program of the server is reduced.
Optionally, the developing device uploads the target installation package set corresponding to the target application to the server, the server may store the target installation package set in the resource library, and in the case that the terminal device requests to download the target application or requests to update the target application, the server may obtain the target installation package set corresponding to the target application from the resource library, and send one or more installation package files in the target installation package set to the terminal device according to the requirement of the terminal device.
Step 420, device information from a terminal device is received.
In case the terminal device needs to install or update the target application, the terminal device may send device information to the server, optionally the device information is used to describe the characteristics of the terminal device, for the server to determine the installation package file that the terminal device needs to download.
Illustratively, the device information may include device configuration information of the terminal device, which may be used to describe a device configuration of the terminal device, e.g., the device configuration information may include, but is not limited to, one or more of a screen density, a CPU architecture, a language, and the like of the terminal device.
For example, the device information may include first version information corresponding to a target application currently installed by the terminal device, where the first version information may be used to indicate a version of the target application currently installed by the terminal device, and further, the first version information may be further used to indicate a basic installation package file currently installed by the terminal device and/or a version of a function installation package file of each function module installed.
And step 430, sending one or more installation package files in the target installation package set to the terminal equipment according to the equipment information, wherein the one or more installation package files are used for installing or updating the target application by the terminal equipment.
The server receives the device information sent by the terminal device, and can determine the installation package file required to be downloaded by the terminal device from the target installation package set according to the device information, and then sends the installation package file required to be downloaded by the terminal device to the terminal device. The terminal device downloads a required installation package file from the server, and installs or updates the target application according to the required installation package file. For different terminal devices or for different device information of the same terminal device, the server can realize dynamic application distribution, and the flexibility and efficiency of application distribution are improved.
Optionally, in the case that the terminal device needs to install the target application, the server may determine, according to the device configuration information of the terminal device, an installation package file matching the device configuration information from the target installation package set, and then send the installation package file matching the device configuration information to the terminal device. For example, the CPU architecture of the terminal device is an x86 architecture, and the server may distribute, to the terminal device, an installation package file matching the x86 architecture in the target installation package set (such as a basic installation package file matching the x86 architecture, a function installation package file matching the x86 architecture, and the like).
Optionally, when the terminal device needs to update the target application, the server may determine, according to the first version information corresponding to the target application currently installed by the terminal device, an installation package file that needs to be updated by the terminal device from the target installation package set, and then send the installation package file that needs to be updated to the terminal device. For example, if the version of the function installation package file of the function module a installed by the terminal device is lower than the version of the function installation package file of the function module a in the target installation package set, the server distributes the function installation package file of the function module a in the target installation package set to the terminal device, so as to update the function module a of the target application by the terminal device.
In the embodiment of the application, the server can distribute the installation package files actually required by the terminal equipment to the terminal equipment according to the equipment information of the terminal equipment, can reduce the volume of the installation package distributed by the server to the terminal equipment, improves the application distribution efficiency, realizes the downloading and installation of the installation package files according to the needs of the terminal equipment, and directly sends the installation package files in the target installation package set uploaded by the research and development equipment to the terminal equipment, thereby ensuring that the installation package files uploaded by the research and development equipment are consistent with the installation package files installed by the terminal equipment and improving the stability of target application.
In some embodiments, each installation package file included in the target installation package set corresponding to the target application may be an APK file, where the target installation package set may be compiled by the developing device from an AAB file, and the AAB file includes a base module of the target application and codes of one or more functional modules of the target application. Further, the AAB file may include codes of the basic module and all functional modules of the target application, i.e., the AAB file includes all codes of the target application.
The research and development equipment compiles an AAB file (file with a suffix of AAB) of the target application to obtain a target installation package set corresponding to the target application. Illustratively, the research and development device may obtain the code of the target application, compile the code of the target application to obtain an AAB file of the target application, split the AAB file by using SPLIT APKS technology, and convert the AAB file into a APKs set (with the extension of a APKs file), where the APKs set may include a basic APK of the basic module and a function APK of each functional module. The dynamic distribution of the server to the target application can be realized, and the downloading and installing efficiency of the target application is improved. In addition, the AAB technology is adopted to realize application distribution, so that the compatibility with an operating system of the terminal equipment is better, for example, more than 5.1 android support is realized, a developer is not required to make compatibility, and the stability of the target application is improved.
In some embodiments, each installation package file in the target installation package set may be from the same AAB file. Each installation package file in the target installation package set may be compiled by the developing device according to an AAB file of a latest version, where the latest version may refer to a version developed recently, the latest version may be a first version (may also be referred to as a base version or an initial version) of the target application, or the latest version may be an updated version (may also be referred to as an updated version) of the target application.
Alternatively, in the case that the latest version of the AAB file is the first version of the AAB file of the target application, the target application has no history version, and therefore, each installation package file in the target installation package set is compiled through the latest version of the AAB file. For example, as shown in fig. 5A, the target installation package set of the target application includes a basic APK, a function APK of the function module a, and a function APK of the function module B, where the basic APK, the function APK of the function module a, and the function APK of the function module B each correspond to a version X of the target application.
Optionally, in the case that the latest version of the AAB file is an updated version of the AAB file of an updated version of all modules of the target application, codes of all modules (such as a basic module and each functional module) of the target application are changed, so that each installation package file in the target installation package set is compiled through the latest version of the AAB file.
Illustratively, FIG. 5B is a CI (Continuous Integration, continuously integrated) pipeline diagram of building a target application in one embodiment. The developer performs code development of the target application, and the developing device compiles codes of each module (including the basic module and each functional module) of the latest version of the target application into an AAB file (such as commit1 AAB in fig. 5B).
Optionally, the developing device may confuse the code of the target application in the process of compiling the code of the first version of the target application into the AAB file, and then compile the confused code into the AAB file. After generating the AAB file, the developing device needs to store a mapping file corresponding to the code confusion, where the mapping file is used to record a mapping relationship between the code before confusion and the code after confusion, and restore the code after confusion to an original code (i.e. the code before confusion) when needed, so as to debug or analyze the code before confusion.
Optionally, the developing device may further save a resource index file in the process of compiling the code of the first version of the target application into the AAB file, where the ID (Identity Document, identification code) of all the resources of the target application, such as the layout file, the picture, the character string, etc., may be recorded in the resource index file. The resource index file can help a developer to quickly locate the ID of the resource in the development process, is convenient for debugging and development, and can help the developer to quickly know the ID allocation situation of all the resources in the target application, so that resource conflict is avoided.
When the research and development equipment compiles the code of the target application of the upgrade version into an AAB file, the code of the target application of the upgrade version can be confused by using the mapping file corresponding to the target application of the first version, and the ID of the resource is allocated by using the resource index file corresponding to the target application of the first version, so that the AAB file of the upgrade version is obtained by compiling. The mapping file and the resource index file corresponding to the first version of the target application are used for compiling the code of the target application of the upgrade version, so that the accuracy of the generated AAB file of the upgrade version can be ensured, and the running stability of the target application can be improved.
The research and development device compiles the codes of the respective modules of the latest version of the target application into AAB files, and compiles the AAB files into APKs sets (files with the suffix of APKs), which APKs sets may include basic APK files of the basic modules (e.g., base (1) -1 in fig. 5B) and functional APK files of the respective functional modules (e.g., feature (1) in fig. 5B). The research and development device may upload the APKs set to a server.
In some embodiments, the APKs set may also be signed before the development device uploads the APKs set to the server, and the signed APKs set (e.g., signed1.Apks in FIG. 5B) is uploaded to the server. Illustratively, the APKs set may be signed with developer's identification information (e.g., organization name, mailbox, etc.), and further, individual APK files contained in the APKs set may be signed. After receiving APKs sets uploaded by the research and development equipment, the server can verify the signature of APKs sets so as to ensure the security and accuracy of the received APKs sets. Optionally, the server may send the signed APK file to the terminal device, where the terminal device may verify the signature of each APK file received, and install the APK file again under the condition of signature verification, so as to avoid the target application from being injected with malicious codes, and improve the security of the target application.
In the above embodiment, the research and development device compiles the latest version of the AAB file to obtain the target installation package set, and uploads the target installation package set to the server, so that compared with the method of uploading the AAB file in the related art, a developer can accurately control the uploaded installation package file, ensure that the tested installation package file, the uploaded installation package file, the installation package file installed in the terminal device and the installation package file actually operated by the terminal device are completely consistent, improve the stability of the target application, and reduce the maintenance cost of the target application.
In some embodiments, each installation package file in the target installation package set may be from a different version of the AAB file. The target installation package set may include a first type installation package file and a second type installation package file, where the first type installation package file is an installation package file updated at this time, and the second type installation package file is an installation package file not updated at this time. The first type installation package file is compiled according to the latest version of the AAB file, and the second type installation package file is compiled according to the historical version of the AAB file. The development time corresponding to the AAB file of the historical version is earlier than the development time corresponding to the AAB file of the latest version.
Historical versions refer to versions that precede the latest version. Under the condition that only part of the modules of the target application of the latest version are updated, the research and development equipment can combine the APK files (namely the first type installation package files) which are not updated at this time in the historical version with the APK files (namely the second type installation package files) which are updated in the latest version to obtain the target installation package set. For example, as shown in fig. 6A, the developer only updates the function APK of the function module a of the target application, and the target installation package set of the target application includes a basic APK, the function APK of the function module a, and the function APK of the function module B, where the basic APK and the function APK of the function module B correspond to the version X of the target application, and the function APK of the function module a corresponds to the version Y of the target application, and the version X precedes the version Y.
Further, the research and development equipment can compile the AAB files of the latest version to obtain a first installation package set corresponding to the latest version, and then merge the first type installation package files in the first installation package set with the second type installation package files in the second installation package set corresponding to the historical version to obtain a target installation package set, wherein the second installation package set is compiled by the research and development equipment according to the AAB files of the historical version.
The research and development device may split and convert the latest version of AAB file into the latest version APKs set through SPLIT APKS, where the APKs set may include the basic APKs of the basic modules of the latest version of the target application and the function APKs of the respective function modules. Since the partial modules of the target application are updated this time, the latest version of the AAB file includes the codes of the modules updated this time and the codes of the modules not updated this time. When compiling the AAB file into APKs sets, the conditions of file sequence change or compression parameter adjustment may occur in the compiling process, so that the binary system of the APK file of the current un-updated module obtained by compiling is inconsistent with the binary system of the APK file obtained by compiling the historical version, and the server can distribute the APK file of the current un-updated module to the terminal equipment.
For example, the latest version of the target application does not update the basic module, but because of the conditions of file sequence change, compression parameter adjustment and the like in the compiling process, the binary system of the basic APK file obtained by compiling the latest version of the AAB file is different from the binary system of the basic APK file obtained by compiling the historical version of the AAB file (such as the version of the basic module or the basic version of the AAB file updated last time), if the basic APK file obtained by compiling the latest version of the AAB file is directly uploaded, the server is triggered to re-issue the basic APK file to the terminal device, so that the application downloading speed is slow and unnecessary resources are occupied.
Therefore, the research and development device may obtain the APK file corresponding to the current updated module (i.e. the first type installation package file) from the APKs set of the latest version, obtain the APK file corresponding to the current un-updated module (i.e. the second type installation package file) from the APKs set of the historical version, combine the first type installation package file with the second type installation package file to obtain the target installation package set, and upload the target installation package set to the server.
Illustratively, FIG. 6B is a CI pipeline diagram of building a target application in another embodiment. The developer updates the code of the target application, the function module of the target application is updated this time, and the basic module is not updated. The development device compiles the codes of each module (including the basic module and each functional module) of the target application of the upgrade version (i.e., the latest version) into an AAB file (e.g., commit2AAB in fig. 6B), and compiles the AAB file into a APKs set of upgrade versions (file with suffix of apks). Further, the research and development equipment compiles codes of the target application of the upgrade version by using the mapping file and the resource index file corresponding to the target application of the first version to obtain an AAB file of the upgrade version.
The APKs set of upgraded versions may include the basic APK files of the base modules (e.g., base (1) -2) in fig. 6B) and the function APK files of the respective function modules (e.g., feature (2) in fig. 6B). Although the basic module is not updated this time, the binary system of the basic APK file obtained by compiling is not necessarily identical to the binary system of the basic APK file of the history version, and is thus identified as base (1) -2.
The development device may combine the base APK file (e.g., base (1) -1 in fig. 6B) with the functional APK file (e.g., feature (2) in fig. 6B) to form a combined APKs set, and send the combined APKs set to the server. Optionally, the developing device may sign the merged APKs set, and then send the signed merged APKs set to the server, and the specific signing manner may refer to the description of the foregoing embodiment, which is not repeated herein.
In the above embodiment, the APK file updated at this time in the latest version and the APK file not updated at this time in the historical version are combined to form the target installation package set, so that the binary system of the APK file corresponding to the module not updated at this time uploaded at this time can be ensured to be consistent with the binary system of the APK file uploaded before, and the server can only distribute the APK file corresponding to the module updated at this time to the terminal device, thereby effectively reducing the distributed data volume and improving the downloading speed and the installation efficiency of the terminal device.
In addition, the target application can be split into a plurality of functional modules based on the service, and a plurality of services are integrated based on the AAB technology, so that independent updating of each service can be enabled, and the flexibility of the application is improved.
In some embodiments, the server may audit the set of installation packages uploaded by the research device for each set of installation packages uploaded by the research device. After receiving the target installation package set sent by the research and development equipment, the server analyzes the target installation package set to obtain each installation package file contained in the target installation package set. The server examines each installation package file contained in the target installation package set, and the target installation package set is stored in the resource library under the condition that the examination of each installation package file is passed.
The server may audit each installation package file included in the target installation package set, optionally, may detect security of each installation package file by adopting an automatic audit mode, for example, scan static codes of each installation package file to avoid falsifying codes with poor implantation in the installation package file, or may verify signatures of the installation package file, etc. Optionally, a manual auditing mode can be adopted, a worker manually downloads each installation package file contained in the target installation package set from the server through the testing equipment, installs each installation package file on the testing equipment, and tests each installed installation package file so as to ensure that each installation package file runs normally.
In the embodiment of the application, the functional module of the target application is dynamically updated, and the security of the target application and the security requirement of the terminal equipment can be ensured through the examination and the verification of the server.
In some embodiments, the terminal device may request the server to update the target application, the device information sent by the terminal device to the server may include first version information corresponding to the target application currently installed by the terminal device, and the server may send, to the terminal device, an installation package file to be updated according to a requirement of the terminal device. As shown in fig. 7, there is provided a distribution method of an application installation package, applied to the above server, the method comprising the steps of:
Step 702, obtaining a target installation package set corresponding to a target application, where the target installation package set is uploaded by a developing device corresponding to the target application, and the target installation package set includes a basic installation package file corresponding to a basic module and function installation package files corresponding to one or more function modules respectively.
Step 704, an update request sent by the terminal device is received, where the update request carries first version information corresponding to a target application currently installed by the terminal device.
In the case that the terminal device needs to update or detect whether to update the target application, the terminal device may send an update request to the server, where the update request may carry an application identifier (such as an application name, an application number, an application ID, etc.) of the target application and first version information corresponding to the target application. The first version information is used for indicating the version of the target application currently installed by the terminal device.
For example, the terminal device may detect whether to update the target application according to a preset period, and send an update request to the server each time it detects whether to update the target application, and the server determines whether the terminal device needs to update the target application.
For example, the user may actively trigger the terminal device to update or detect whether the target application needs to be updated, and the terminal device sends an update request to the server in response to the update operation triggered by the user.
Step 706, determining an installation package file to be updated from the target installation package set according to the first version information.
Step 708, sending an installation package file to be updated to the terminal device, where the installation package file to be updated is used for updating the target application by the terminal device.
The server may obtain second version information corresponding to the target installation package set, where the second version information is used to indicate a version of the target application corresponding to the target installation package set. After receiving the update request sent by the terminal device, the server can analyze the update request to obtain first version information, and can compare the first version information with second version information to judge whether the terminal device needs to update the target application. Under the condition that the terminal equipment needs to update the target application, an installation package file to be updated can be obtained from the target installation package set, and the installation package file to be updated is sent to the terminal equipment. And the terminal equipment receives the installation package file to be updated, which is sent by the server, and updates the target application according to the installation package file to be updated.
In some embodiments, the server may support updating a single functional module of the target application, may assign a total version number to the target application, and assign a sub-version number to each functional module of the target application. For example, the total version number of the target application is defined by versionCode in android management. Optionally, the basic module of the target application can be allocated with an independent sub-version number, and optionally, as the basic module of the target application is updated, the total version number of the target application is also updated iteratively accordingly, so that the version number of the basic module can be set as the total version number of the target application.
When only some functional modules of the target application are updated, only the sub-version numbers corresponding to the functional modules can be iteratively updated, and the total version number of the target application is not required to be iteratively updated, so that the maintenance cost of the target application can be reduced, and the target application can be quickly updated.
The first version information may include a first total version number corresponding to the target application and first sub-version numbers corresponding to one or more first function modules, respectively, where the first function modules are function modules installed in the terminal device, and the second version information may include a second total version number corresponding to the target installation package set and second sub-version numbers corresponding to function installation package files of each function module included in the target installation package set.
The server may compare the first total version number with the second total version number and determine whether the first total version number is the same as the second total version number. And under the condition that the first total version number is different from the second total version number, determining the basic installation package files in the target installation package set and the function installation package files corresponding to the first function modules as installation package files to be updated.
Under the condition that the first total version number is different from the second total version number, the total version number of the target application is changed, the target application is updated greatly, and a basic module and most of functional modules of the target application are updated generally, so that a server can send basic installation package files in a target installation package set and functional installation package files corresponding to all the first functional modules to terminal equipment, and the whole target application installed by the terminal equipment is updated.
Under the condition that the first total version number is the same as the second total version number, the server can compare the first sub-version number corresponding to each first functional module with the corresponding second sub-version number and judge whether the first sub-version number corresponding to each first functional module is the same as the corresponding second sub-version number. And determining the function installation package file corresponding to the target first functional module as the installation package file to be updated under the condition that the first total version number is the same as the second total version number and the first sub-version number corresponding to the target first functional module is different from the corresponding second sub-version number.
And under the condition that the first total version number is the same as the second total version number, the total version number of the target application is unchanged, and the latest version of the target application is updated only to the functional module. The server compares the first sub-version numbers corresponding to the first functional modules with the second sub-version numbers corresponding to the first functional modules, and can determine target first functional modules with different corresponding first sub-version numbers and corresponding second sub-version numbers, wherein the target first functional modules are updated functional modules of the latest version of target application.
As an embodiment, the update request may further include a first hash value corresponding to the basic installation package file currently installed by the terminal device, where the hash value may be calculated by a hash function such as MD5 (Message-Digest Algorithm), but is not limited thereto. The server can acquire a second hash value corresponding to the basic installation package file in the target installation package set, the server can compare the first hash value with the second hash value under the condition that the first total version number is the same as the second total version number, and if the first hash value is the same as the second hash value, the basic APK file is not changed, and the target first functional module can be further updated. If the first hash value is different from the second hash value, it is indicated that the basic APK file is changed, which may cause the situation that the updated functional module is incompatible with the basic APK file installed on the terminal device, and the like, the target first functional module may not be updated first, so as to ensure the stability of the target application.
Illustratively, as shown in fig. 8, the server checking whether the terminal device needs to update the target application may include the following steps:
Step 802, a server receives an update request sent by a terminal device.
Step 804, the server determines whether versionCode (i.e. the total version number) corresponding to the target installation package set is greater than versionCode of the target application currently installed by the terminal device, if yes, step 806 is executed, and if no, step 808 is executed.
Step 806, performing Apks aggregate whole package update.
The server sends the basic APK of the target installation package set and the function APK of each first function module to the terminal equipment.
Step 808, the server determines whether versionCode corresponding to the target installation package set is the same as versionCode of the target application installed by the terminal device, if yes, step 810 is executed, and if no, step 816 is executed.
Step 810, determining whether MD5 of the basic APK installed by the terminal device is consistent with MD5 of the basic APK of the target installation package set, if so, executing step 812, and if not, executing step 816.
Step 812, the server determines whether revisionCode (i.e., the sub-version number) corresponding to each first functional module in the target installation package set is greater than revisionCode corresponding to each first functional module currently installed in the terminal device, if yes, step 814 is executed, and if no, step 816 is executed.
The server may traverse each first function module installed by the terminal device, compare revisionCode corresponding to each first function module currently installed by the terminal device with revisionCode of the function APK file corresponding to the target installation package set, and determine a target first function module larger than revisionCode in the target installation package set.
In step 814, the function APK of the target first functional module is updated separately.
In step 816, the update is ignored.
In the above embodiment, the server supports updating of a single function module of the target application installed on the terminal device by comparing the total version number of the target application with the sub-version numbers of the first function modules, and only distributes the function installation package file of the target first function module to be updated to the terminal device, thereby improving the downloading speed and the installation efficiency of the terminal device and reducing unnecessary resource waste.
In some embodiments, the server may distribute the installation package file of the terminal device to be updated according to the device configuration of the terminal device. The function installation package files corresponding to the respective function modules may include one or more function configuration installation package files, for example, as shown in fig. 2B, the function configuration installation package set corresponding to each dynamic function module may include one or more function configuration APK files, and each function configuration APK file may include a code of the function module and a configuration resource associated with the function module.
The device information sent by the terminal device to the server may further include device configuration information and/or installation information corresponding to the terminal device, where the installation information may be used to indicate a function configuration installation package file currently installed by the terminal device. The installation package file to be updated corresponding to the first functional module is a functional configuration installation package file matched with the equipment configuration information and/or the installation information in one or more functional configuration installation package files corresponding to the first functional module.
Optionally, in the case that the first total version number is different from the second total version number, the server may select, according to the device configuration information and/or the installation information, a function configuration APK file matching the device configuration information and/or the installation information from one or more function configuration installation package files corresponding to each first function module included in the target installation package set, and send the function configuration APK file to the terminal device.
For example, if the language configured by the terminal device is english, and/or it is detected that the terminal device currently installs a function configuration APK file associated with an english resource, the server may send, to the terminal device, the function configuration APK file associated with the english resource by each first function module included in the target installation package set.
For another example, if the screen density of the terminal device is screen density 1 and/or it is detected that the terminal device currently installs a function configuration APK file associated with a resource of screen density 1, the server may send, to the terminal device, the function configuration APK file associated with the resource of screen density 1, each first function module included in the target installation package set.
Optionally, when the first total version number is the same as the second total version number and the first sub-version number corresponding to the target first functional module is different from the corresponding second sub-version number, the server may select, according to the device configuration information and/or the installation information, a function configuration APK file matching with the device configuration information and/or the installation information from one or more function configuration installation package files corresponding to the target first functional module included in the target installation package set, and send the function configuration APK file to the terminal device.
In the above embodiment, the server may further distribute, according to the device configuration of the terminal device, the APK files of the function module of the target application to the terminal device, without sending all the APK files of the function module to the terminal device, so as to further improve the downloading efficiency and the installation efficiency of the terminal device.
In some embodiments, the terminal device may install each APK file of the target application under an application directory of the system, for example, under the application directory of the target application, and after the application is installed, the basic APK file and the function APK files of one or more function modules of the target application are protected and cannot be modified by a third party application, and only a specific application program (such as a first party application of the system) has permission to implement, so that the running security of the application is improved. It should be noted that, after a certain functional module of the target application is updated, the updated function APK file is also installed under the application directory.
When the terminal equipment runs the target application, because the APK files of each module of the target application are all installed under the application catalog of the system, the APK files of each module of the target application are automatically loaded to the same class loader (classLoader), the development cost of the loading and running of the modules can be reduced, and the problems of compatibility and stability when the target application runs are avoided.
In the embodiment of the application, the update of the independent functional module in the target application can be realized, the server can distribute the installation package file actually required by the terminal equipment to the terminal equipment, the volume of the installation package distributed to the terminal equipment by the server can be reduced, the application distribution efficiency is improved, and the application update efficiency of the terminal equipment is improved. The server realizes modularized update on the target application, is not sensitive to a developer, does not need to maintain a framework, and has low development and maintenance cost. In addition, the problems of poor compatibility, poor stability, high maintenance cost and the like of the traditional plug-in updating mode can be avoided, and the stability of target application is improved.
In some embodiments, the terminal device may request the server to download the target application, and the server may send, to the terminal device, an installation package file that the terminal device needs to download according to the requirements of the terminal device. As shown in fig. 9, the method for distributing the application installation package may further include the following steps:
step 902, a download request sent by a terminal device is received, where the download request carries device information.
For example, the user may actively trigger the terminal device to download the target application, and the terminal device sends a download request to the server in response to the download operation triggered by the user.
Step 904, according to the device information, the basic installation package file and the function installation package files corresponding to one or more second function modules respectively are sent to the terminal device, wherein the second function modules are the function modules to be downloaded by the terminal device.
After receiving the download request sent by the terminal equipment, the server can analyze the download request to obtain equipment information, select an installation package file required to be downloaded by the terminal equipment from a target installation package set according to the equipment information, and send the installation package file required to be downloaded to the terminal equipment. Since the terminal device does not install the target application currently, the server at least needs to send the basic installation package file in the target installation package set to the terminal device, and further may send the function installation package files corresponding to one or more second function modules respectively to the terminal device.
As an implementation manner, a developer may define in advance a downloading rule corresponding to each function module of the target application, for example, may define downloading when a part of function modules are used for installing the target application for the terminal device, define downloading of a part of function modules for a specific type of terminal device (for example, downloading of a part of function modules for a mobile phone, downloading of a part of function modules for a smart watch, etc.). The server can determine the second function modules to be downloaded of the terminal equipment based on the downloading rules corresponding to the function modules of the target application according to the equipment information, and send one or more function installation package files corresponding to the second function modules to the terminal equipment. The method realizes the on-demand downloading of the terminal equipment and improves the application downloading and installing efficiency.
In some embodiments, the device information may include device configuration information, and the server may determine, according to the device configuration information of the terminal device, a target installation package file corresponding to each second function module from one or more function configuration installation package files corresponding to each second function module, and send, to the terminal device, a basic installation package file in the target installation package set and a target installation package file corresponding to each second function module respectively.
The server may determine, according to the device configuration information of the terminal device, a function configuration installation package file matched with the device configuration information from one or more function configuration installation package files corresponding to each second function module included in the target installation package set, and use the function configuration installation package file as a target installation package file corresponding to each second function module. The specific manner of determining the target installation package file corresponding to each second functional module may be similar to the manner of determining the installation package file to be updated corresponding to the first functional module according to the device configuration information described in the foregoing embodiment, and will not be repeated herein.
Further, the base installation package file may include one or more functional configuration installation package files that include code of the base module and configuration resources associated with the base module. The server may determine, according to the device configuration information of the terminal device, a function configuration installation package file matched with the device configuration information from one or more function configuration installation package files corresponding to the basic modules included in the target installation package set, and send the function configuration installation package file to the terminal device.
In the embodiment of the application, the server can distribute the installation package file of the target application to the terminal equipment according to the equipment configuration of the terminal equipment as required, thereby improving the application distribution efficiency and the distribution flexibility and improving the efficiency of downloading and installing the target application by the terminal equipment.
Illustratively, FIG. 10 is a schematic flow diagram of the distribution of an application installation package in one embodiment. As shown in fig. 10, a developer develops/updates an AAB file of a target application (through a developing device), converts the AAB file into APKs sets, and generates a full APK file of the target application, which includes all codes and resources of the target application. And uploading APKs sets of target applications and the full APK files to a development cloud by a developer, and uploading to a server of an application store by the development cloud. And the server of the application store carries out auditing on the APKs set and the full APK file of the target application uploaded by the research cloud end, and under the condition that the auditing is passed, the APKs set and the full APK file of the target application are stored into a resource library.
The server of the application store provides store search services and update services. The user searches the target application through the application store client on the terminal device, the application store client sends a query request to the server of the application store, and the server of the application store searches the application resources (APKs sets and full APK files of the target application) of the latest version of the target application in the resource library according to the query request. The server of the application store may assemble DTOs (DATA TRANSFER objects for data transmission) according to the information of the found target application and transmit the assembled DTOs to the terminal device. And the terminal equipment displays the search result on the interface of the application store client according to the assembled DTO. The user can trigger to download the target application at the application store client, the server sends the basic APK file of the target application and the functional APK file of the second functional module to the terminal equipment, and the terminal equipment installs the target application according to the basic APK file of the target application and the functional APK file of the second functional module. Optionally, if the terminal device does not support the application distribution mode of the AAB technology (for example, the operating system version of the terminal device is lower), the server may also send a full APK file of the target application to the terminal device, and the terminal device installs the target application according to the full APK file.
After the terminal equipment installs the target application, the terminal equipment can check whether the target application needs to be updated, and the terminal equipment sends an update request to the server, wherein the update request carries the first version information of the target application currently installed by the terminal equipment and MD5 of the basic APK file. The server of the application store receives the update request, searches for the application resources (APKs sets of target applications and full APK files) of the latest version of the target application according to the update request, and determines whether the target application installed on the terminal device needs to be updated. If the target application needs to be updated, the server assembles the updated APK file and sends the APK file to the terminal equipment so that the terminal equipment can update the target application.
As shown in fig. 11, in one embodiment, a method for processing an application installation package is provided, which may be applied to the above-mentioned research and development device, and the method may include the following steps:
And 1110, uploading a target installation package set corresponding to the target application to a server, wherein the target installation package set comprises basic installation package files corresponding to the basic modules and function installation package files corresponding to one or more function modules respectively, and the target installation package set is used for sending one or more installation package files in the target installation package set to the terminal equipment by the server according to equipment information of the terminal equipment, wherein the one or more installation package files are used for installing or updating the target application by the terminal equipment.
In some embodiments, the basic installation package file and the functional installation package file are APK files. Before step 1110, the method further includes compiling an AAB file to obtain a set of target installation packages, the AAB file including code for the base module and one or more functional modules.
In some embodiments, compiling the AAB file to obtain a target installation package set, wherein the compiling of the AAB file of the latest version to obtain a first installation package set corresponding to the latest version is performed, the first type installation package file in the first installation package set is combined with the second type installation package file in the second installation package set corresponding to the historical version to obtain the target installation package set, the first type installation package file is an installation package file updated at this time, and the second type installation package file is an installation package file not updated at this time, wherein the second installation package set is obtained by compiling the AAB file of the historical version, and development time corresponding to the AAB file of the historical version is earlier than development time corresponding to the AAB file of the latest version.
It should be noted that, the description of the processing method of the application installation package applied to the development device provided in the embodiment of the present application may refer to the related description of the distribution method of the application installation package applied to the server provided in each embodiment, and the detailed description is not repeated here.
In the embodiment of the application, the server can distribute the installation package files actually required by the terminal equipment to the terminal equipment according to the equipment information of the terminal equipment, can reduce the volume of the installation package distributed by the server to the terminal equipment, improves the application distribution efficiency, realizes the downloading and installation of the installation package files according to the needs of the terminal equipment, and directly sends the installation package files in the target installation package set uploaded by the research and development equipment to the terminal equipment, thereby ensuring that the installation package files uploaded by the research and development equipment are consistent with the installation package files installed by the terminal equipment and improving the stability of target application.
As shown in fig. 12, in one embodiment, a method for processing an application installation package is provided, which is applicable to the above terminal device, and the method may include the following steps:
in step 1210, device information is sent to a server, where the device information is used to instruct the server to send one or more installation package files in a target installation package set corresponding to a target application, where the target installation package set is uploaded by a developing device corresponding to the target application, and the target installation package set includes a basic installation package file corresponding to a basic module, and function installation package files corresponding to one or more function modules respectively.
Step 1220 receives one or more installation package files from a server.
In step 1230, the target application is installed or updated based on the one or more installation package files.
In some embodiments, the device information includes first version information corresponding to a target application currently installed by the terminal device, and step 1220 includes receiving an installation package file to be updated sent by the server, where the installation package file to be updated is determined by the server from the target installation package set according to the first version information.
In some embodiments, the first version information includes a first total version number corresponding to the target application and first sub-version numbers corresponding to one or more first functional modules, where the first functional modules are functional modules installed in the terminal device, the target installation package set corresponds to a second total version number, and functional installation package files of each functional module included in the target installation package set have corresponding second sub-version numbers.
Under the condition that the first total version number is different from the second total version number, the installation package file to be updated, which is sent by the server, comprises basic installation package files in the target installation package set and function installation package files corresponding to the first function modules;
And under the condition that the first total version number is the same as the second total version number and the first sub-version number corresponding to the target first functional module is different from the corresponding second sub-version number, determining the to-be-updated installation package file sent by the server, wherein the to-be-updated installation package file comprises the functional installation package file corresponding to the target first functional module as the to-be-updated installation package file.
In some embodiments, the function installation package files corresponding to the function modules comprise one or more function configuration installation package files, and the device information further comprises device configuration information and/or installation information corresponding to the terminal device, wherein the installation information is used for indicating the function configuration installation package files currently installed by the terminal device;
The installation package file to be updated corresponding to the first functional module is a functional configuration installation package file matched with the equipment configuration information and/or the installation information in one or more functional configuration installation package files corresponding to the first functional module.
In some embodiments, step 1210 includes sending a download request to the terminal device, where the download request carries device information, and step 1220 includes receiving a basic installation package file in the target installation package set sent by the server and function installation package files corresponding to one or more second function modules respectively, where the second function modules are function modules to be downloaded by the terminal device.
In some embodiments, the function installation package files corresponding to the function modules comprise one or more function configuration installation package files, the equipment information comprises equipment configuration information corresponding to the terminal equipment, the step of receiving basic installation package files in a target installation package set sent by the server and the function installation package files corresponding to the second function modules respectively comprises receiving basic installation package files in the target installation package set sent by the server and the target installation package files corresponding to the second function modules respectively, and the target installation package files corresponding to the second function modules are determined from the one or more function configuration installation package files corresponding to the second function modules according to the equipment configuration information by the server.
It should be noted that, the description of the processing method of the application installation package applied to the terminal device provided in the embodiment of the present application may refer to the related description of the distribution method of the application installation package applied to the server provided in each embodiment, and the detailed description is not repeated here.
In the embodiment of the application, the server can distribute the installation package files actually required by the terminal equipment to the terminal equipment according to the equipment information of the terminal equipment, can reduce the volume of the installation package distributed by the server to the terminal equipment, improves the application distribution efficiency, realizes the downloading and installation of the installation package files according to the needs of the terminal equipment, and directly sends the installation package files in the target installation package set uploaded by the research and development equipment to the terminal equipment, thereby ensuring that the installation package files uploaded by the research and development equipment are consistent with the installation package files installed by the terminal equipment and improving the stability of target application.
As shown in fig. 13, in one embodiment, an apparatus 1300 for distributing an application installation package is provided, which is applicable to the server described above, and the apparatus 1300 for distributing an application installation package includes a set acquisition module 1310, a receiving module 1320, and a transmitting module 1330.
The set obtaining module 1310 is configured to obtain a target installation package set corresponding to a target application, where the target installation package set is uploaded by a developing device corresponding to the target application, and the target installation package set includes a basic installation package file corresponding to the basic module, and function installation package files corresponding to one or more function modules respectively.
A receiving module 1320, configured to receive device information from a terminal device.
And a sending module 1330, configured to send, to the terminal device, one or more installation package files in the target installation package set, where the one or more installation package files are used for installing or updating the target application by the terminal device, according to the device information.
In one embodiment, the basic installation package file and the function installation package file are APK files, and the target installation package set is obtained by compiling an AAB file by a developing device, where the AAB file includes codes of a basic module and one or more function modules.
In one embodiment, the target installation package set includes a first type installation package file and a second type installation package file, wherein the first type installation package file is an installation package file updated at the time, and the second type installation package file is an installation package file not updated at the time;
The first type installation package file is compiled according to the latest version of AAB file;
the second type installation package file is compiled according to the AAB file of the historical version, wherein the development time corresponding to the AAB file of the historical version is earlier than the development time corresponding to the AAB file of the latest version.
In one embodiment, each installation package file in the target installation package set is compiled from the latest version of the AAB file.
In one embodiment, the device information includes first version information corresponding to a target application currently installed by the terminal device.
The transmitting module 1330 includes an update determining unit and a transmitting unit.
And the updating determining unit is used for determining the installation package file to be updated from the target installation package set according to the first version information.
And the sending unit is used for sending the installation package file to be updated to the terminal equipment.
In one embodiment, the first version information includes a first total version number corresponding to the target application and first sub-version numbers corresponding to one or more first functional modules, where the first functional modules are functional modules installed in the terminal device, the target installation package set corresponds to a second total version number, and functional installation package files of each functional module included in the target installation package set have corresponding second sub-version numbers.
The updating determining unit is further configured to determine, as an installation package file to be updated, a basic installation package file in the target installation package set and a functional installation package file corresponding to each first functional module when the first total version number is different from the second total version number, and determine, as an installation package file to be updated, a functional installation package file corresponding to the target first functional module when the first total version number is the same as the second total version number and there is a first sub-version number corresponding to the target first functional module different from the corresponding second sub-version number.
In one embodiment, the function installation package files corresponding to the function modules comprise one or more function configuration installation package files, wherein the function configuration installation package files comprise codes of the function modules and configuration resources associated with the function modules;
The installation package file to be updated corresponding to the first functional module is a functional configuration installation package file matched with the equipment configuration information and/or the installation information in one or more functional configuration installation package files corresponding to the first functional module.
In one embodiment, the receiving module 1320 is further configured to receive a download request sent by the terminal device, where the download request carries device information.
The sending module 1330 is further configured to send, to the terminal device, the basic installation package file and function installation package files corresponding to one or more second function modules, where the second function module is a function module to be downloaded by the terminal device, according to the device information.
In one embodiment, the function installation package file corresponding to each function module comprises one or more function configuration installation package files, the function configuration installation package files comprise codes of the function module and configuration resources associated with the function module, and the device information comprises device configuration information corresponding to the terminal device.
The sending module 1330 is further configured to determine, according to the device configuration information, a target installation package file corresponding to each second functional module from one or more function configuration installation package files corresponding to each second functional module, and send the basic installation package file and the target installation package file corresponding to each second functional module to the terminal device.
In one embodiment, the distribution apparatus 1300 of the application installation package further includes an parsing module, an auditing module, and a storage module.
The analysis module is used for analyzing the target installation package set to obtain each installation package file contained in the target installation package set.
And the auditing module is used for auditing all the installation package files contained in the target installation package set.
And the storage module is used for storing the target installation package set into the resource library under the condition that the verification of each installation package file is passed.
As shown in fig. 14, in one embodiment, an apparatus 1400 for processing an application installation package is provided, and the apparatus 1400 for processing an application installation package includes an upload module 1410, where the apparatus is applied to the development device described above.
The method comprises the steps of uploading a target installation package set corresponding to a target application to a server, wherein the target installation package set comprises basic installation package files corresponding to a basic module and function installation package files corresponding to one or more function modules respectively, the target installation package set is used for sending one or more installation package files in the target installation package set to the terminal equipment by the server according to equipment information of the terminal equipment, and the one or more installation package files are used for installing or updating the target application by the terminal equipment.
In one embodiment, the basic installation package file and the function installation package file are APK files. The processing device 1400 of the application installation package also includes a compilation module.
And the compiling module is used for compiling the AAB file to obtain a target installation package set, wherein the AAB file comprises codes of the basic module and one or more functional modules.
The compiling module is further used for compiling the AAB files of the latest version to obtain a first installation package set corresponding to the latest version, merging the first type installation package files in the first installation package set with the second type installation package files in the second installation package set corresponding to the historical version to obtain a target installation package set, wherein the first type installation package files are updated installation package files at the time, and the second type installation package files are not updated installation package files at the time, the second installation package set is obtained by compiling the AAB files of the historical version, and development time corresponding to the AAB files of the historical version is earlier than development time corresponding to the AAB files of the latest version.
As shown in fig. 15, in one embodiment, an apparatus 1500 for processing an application installation package is provided, and the apparatus 1500 for processing an application installation package includes a sending module 1510, a receiving module 1520, and an installation module 1530, and is applicable to the terminal device described above.
The sending module 1510 is configured to send device information to a server, where the device information is configured to instruct the server to send one or more installation package files in a target installation package set corresponding to a target application, where the target installation package set is uploaded by a developing device corresponding to the target application, and the target installation package set includes a basic installation package file corresponding to a basic module, and function installation package files corresponding to one or more function modules respectively.
A receiving module 1520 for receiving one or more installation package files from a server;
An installation module 1530 for installing or updating the target application based on the one or more installation package files.
In some embodiments, the device information includes first version information corresponding to a target application currently installed by the terminal device. The receiving module 1520 is further configured to receive an installation package file to be updated sent by the server, where the installation package file to be updated is determined by the server from the target installation package set according to the first version information.
In some embodiments, the sending module 1510 is further configured to send a download request to the terminal device, where the download request carries device information, and the receiving module 1520 is further configured to receive a basic installation package file in the target installation package set sent by the server, and function installation package files corresponding to one or more second function modules respectively, where the second function modules are function modules to be downloaded by the terminal device.
In some embodiments, the receiving module 1520 is further configured to receive a basic installation package file in the target installation package set sent by the server, and one or more target installation package files corresponding to the second functional modules respectively, where the target installation package file corresponding to the second functional modules is determined by the server from the one or more function configuration installation package files corresponding to the second functional modules according to the device configuration information.
FIG. 16 is a block diagram of a server in one embodiment. As shown in fig. 16, the server 1600 may include one or more processors 1610, a memory 1620 coupled to the processor 1610, where the memory 1620 may store one or more computer programs that, when executed by the one or more processors 1610, may be configured to cause the server 1600 to implement a distribution method of an application installation package applied to a server as described in the above embodiments.
Processor 1610 may include one or more processing cores. Processor 1610 connects the various portions of the overall server 1600 using various interfaces and lines, executing various functions of server 1600, and processing data by executing or executing instructions, programs, code sets, or instruction sets stored in memory 1620, and invoking data stored in memory 1620. Alternatively, the processor 1610 may be implemented in at least one hardware form of digital signal Processing (DIGITAL SIGNAL Processing, DSP), field-Programmable gate array (Field-Programmable GATE ARRAY, FPGA), programmable logic array (Programmable Logic Array, PLA). Processor 1610 may integrate one or a combination of several of a central processing unit (Central Processing Unit, CPU), an image processor (Graphics Processing Unit, GPU), and a modem, etc. The CPU mainly processes an operating system, a user interface, an application program and the like, the GPU is used for rendering and drawing display contents, and the modem is used for processing wireless communication. It will be appreciated that the modem may not be integrated into the processor 1610, but may be implemented solely by a single communication chip.
The Memory 1620 may include a random access Memory (Random Access Memory, RAM) or a Read-Only Memory (ROM). The memory 1620 may be used to store instructions, programs, code sets, or instruction sets. The memory 1620 may include a stored program area and a stored data area, wherein the stored program area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing the various method embodiments described above, and the like. The storage data area may also store data created by the server 1600 in use, and the like.
The server 1600 may also include a transceiver unit that may be used to provide communication functionality.
The embodiment of the application discloses a research and development device, which comprises a memory, a processor and a receiving and transmitting unit, wherein the memory stores a computer program, and when the computer program is executed by the processor, the research and development device realizes the processing method of the application installation package applied to the research and development device as described in the above embodiments.
The embodiment of the application discloses a terminal device, which comprises a memory, a processor and a receiving and transmitting unit, wherein the memory stores a computer program, and the computer program, when executed by the processor, enables the terminal device to realize the processing method of the application installation package applied to the terminal device, which is described in the above embodiments.
The embodiments of the present application disclose a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor in a server, causes the server to implement a distribution method of an application installation package applied to the server as described in the above embodiments.
The embodiments of the present application disclose a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor in a development device, causes the development device to implement a processing method of an application installation package applied to the development device as described in the above embodiments.
The embodiments of the present application disclose a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor in a terminal device, causes the terminal device to implement a processing method of an application installation package applied to the terminal device as described in the above embodiments.
Embodiments of the present application disclose a computer program product comprising a computer program which, when executed by a processor in a server, causes the server to implement a distribution method of an application installation package applied to the server as described in the above embodiments.
Embodiments of the present application disclose a computer program product comprising a computer program, which when executed by a processor in a development device, causes the development device to implement a processing method of an application installation package applied to the development device as described in the above embodiments.
The embodiments of the present application disclose a computer program product comprising a computer program which, when executed by a processor in a terminal device, causes the terminal device to implement a processing method of an application installation package applied to the terminal device as described in the above embodiments.
Those skilled in the art will appreciate that all or part of the processes in the methods of the above embodiments may be implemented by a computer program for instructing relevant hardware, where the program may be stored in a non-volatile computer readable storage medium, and where the program, when executed, may include processes in the embodiments of the methods described above. Wherein the storage medium may be a magnetic disk, an optical disk, a ROM, etc.
Any reference to memory, storage, database, or other medium as used herein may include non-volatile and/or volatile memory. Suitable nonvolatile memory can include ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically Erasable PROM (ELECTRICALLY ERASABLE PROM, EEPROM), or flash memory. Volatile memory can include random access memory (random access memory, RAM), which acts as external cache memory. By way of illustration and not limitation, RAM may take many forms, such as static RAM (STATIC RAM, SRAM), dynamic RAM (Dynamic Random Access Memory, DRAM), synchronous DRAM (SDRAM), double-data-rate SDRAM (Double DATA RATE SDRAM, DDR SDRAM), enhanced SDRAM (Enhanced Synchronous DRAM, ESDRAM), synchronous link DRAM (SYNCHLINK DRAM, SLDRAM), memory bus Direct RAM (Rambus DRAM), and Direct memory bus dynamic RAM (DRDRAM).
The technical features of the above-described embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above-described embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
Claims (16)
1. A method for distributing an application installation package, applied to a server, the method comprising:
Acquiring a target installation package set corresponding to a target application, wherein the target installation package set is uploaded by research and development equipment corresponding to the target application, and comprises basic installation package files corresponding to basic modules and function installation package files corresponding to one or more function modules respectively;
receiving device information from a terminal device;
And sending one or more installation package files in the target installation package set to the terminal equipment according to the equipment information, wherein the one or more installation package files are used for installing or updating the target application by the terminal equipment.
2. The method according to claim 1, wherein the basic installation package file and the function installation package file are android application package APK files, the target installation package set is compiled by the development device for an android application package AAB file, and the AAB file includes codes of the basic module and the one or more function modules.
3. The method of claim 2, wherein the target installation package set includes a first type of installation package file and a second type of installation package file, the first type of installation package file being an installation package file updated at this time, the second type of installation package file being an installation package file not updated at this time;
The first type installation package file is compiled according to the latest version of AAB file;
the second type installation package file is compiled according to the AAB file of the historical version, wherein the development time corresponding to the AAB file of the historical version is earlier than the development time corresponding to the AAB file of the latest version.
4. The method of claim 2, wherein each installation package file in the target set of installation packages is compiled from the latest version of the AAB file.
5. The method according to any one of claims 1 to 4, wherein the device information includes first version information corresponding to the target application currently installed by the terminal device, and the sending, according to the device information, one or more installation package files in the target installation package set to the terminal device includes:
Determining an installation package file to be updated from the target installation package set according to the first version information;
And sending the installation package file to be updated to the terminal equipment.
6. The method of claim 5, wherein the first version information includes a first total version number corresponding to the target application and first sub-version numbers respectively corresponding to one or more first function modules, the first function modules being function modules installed in the terminal device; the target installation package set corresponds to a second total version number, and the function installation package files of all the function modules contained in the target installation package set have corresponding second sub-version numbers;
And determining an installation package file to be updated from the target installation package set according to the first version information, wherein the method comprises the following steps:
Under the condition that the first total version number is different from the second total version number, determining the basic installation package files in the target installation package set and the function installation package files corresponding to the first function modules as installation package files to be updated;
And determining the function installation package file corresponding to the target first functional module as the installation package file to be updated under the condition that the first total version number is the same as the second total version number and the first sub-version number corresponding to the target first functional module is different from the corresponding second sub-version number.
7. The method of claim 6, wherein the function installation package files corresponding to the function modules comprise one or more function configuration installation package files, the function configuration installation package files comprise codes of the function modules and configuration resources associated with the function modules, the device information further comprises device configuration information and/or installation information corresponding to the terminal device, and the installation information is used for indicating the function configuration installation package files currently installed by the terminal device;
And the installation package file to be updated corresponding to the first functional module is a functional configuration installation package file matched with the equipment configuration information and/or the installation information in one or more functional configuration installation package files corresponding to the first functional module.
8. The method according to any one of claims 1 to 4, wherein the receiving the device information from the terminal device includes:
receiving a downloading request sent by the terminal equipment, wherein the downloading request carries the equipment information;
And sending one or more installation package files in the target installation package set to the terminal equipment according to the equipment information, wherein the method comprises the following steps of:
And sending the basic installation package file and the function installation package files corresponding to one or more second function modules to the terminal equipment according to the equipment information, wherein the second function modules are the function modules to be downloaded by the terminal equipment.
9. The method of claim 8, wherein the function installation package files corresponding to the respective function modules comprise one or more function configuration installation package files, the function configuration installation package files comprising codes of the function modules and configuration resources associated with the function modules;
The step of sending the basic installation package file and the function installation package file corresponding to one or more second function modules respectively to the terminal equipment according to the equipment information comprises the following steps:
determining a target installation package file corresponding to each second functional module from one or more functional configuration installation package files corresponding to each second functional module according to the equipment configuration information;
and sending the basic installation package file and the target installation package files respectively corresponding to the second functional modules to the terminal equipment.
10. The method according to any one of claims 1-4, further comprising:
Analyzing the target installation package set to obtain each installation package file contained in the target installation package set;
Auditing all installation package files contained in the target installation package set;
and storing the target installation package set into a resource library under the condition that each installation package file passes the audit.
11. A method for processing an application installation package, applied to a research and development device, the method comprising:
The method comprises the steps of uploading a target installation package set corresponding to a target application to a server, wherein the target installation package set comprises basic installation package files corresponding to basic modules and function installation package files corresponding to one or more function modules respectively, the target installation package set is used for sending one or more installation package files in the target installation package set to the terminal equipment according to equipment information of the terminal equipment, and the one or more installation package files are used for installing or updating the target application by the terminal equipment.
12. The method of claim 11, wherein the basic installation package file and the function installation package file are APK files, and wherein prior to uploading the target installation package set corresponding to the target application to the server, the method further comprises:
Compiling an AAB file to obtain a target installation package set, wherein the AAB file comprises codes of the basic module and the one or more functional modules.
13. The method of claim 12, wherein compiling the AAB file to obtain the set of target installation packages comprises:
compiling the AAB file of the latest version to obtain a first installation package set corresponding to the latest version;
Combining a first type of installation package file in the first installation package set with a second type of installation package file in a second installation package set corresponding to a historical version to obtain a target installation package set, wherein the first type of installation package file is an installation package file updated at this time, and the second type of installation package file is an installation package file not updated at this time, the second installation package set is obtained by compiling an AAB file according to the historical version, and the development time corresponding to the AAB file of the historical version is earlier than the development time corresponding to the AAB file of the latest version.
14. The method of claim 12, wherein each installation package file in the target set of installation packages is compiled from the latest version of the AAB file.
15. An electronic device, comprising a memory, a processor, and a transceiver unit, wherein the memory stores a computer program, and the computer program, when executed by the processor, causes the electronic device to implement the method of any one of claims 1-10 and 11-14.
16. A computer program product comprising a computer program which, when executed by a processor of an electronic device, causes the electronic device to implement the method of any one of claims 1-10, 11-14.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511488247.7A CN121411787A (en) | 2025-10-17 | 2025-10-17 | Application installation package distribution methods, application installation package processing methods, and electronic devices |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511488247.7A CN121411787A (en) | 2025-10-17 | 2025-10-17 | Application installation package distribution methods, application installation package processing methods, and electronic devices |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN121411787A true CN121411787A (en) | 2026-01-27 |
Family
ID=98487859
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511488247.7A Pending CN121411787A (en) | 2025-10-17 | 2025-10-17 | Application installation package distribution methods, application installation package processing methods, and electronic devices |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN121411787A (en) |
-
2025
- 2025-10-17 CN CN202511488247.7A patent/CN121411787A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110569035B (en) | Code compiling method, device, equipment and storage medium of software development project | |
| JP5658283B2 (en) | Application operating method, apparatus and system | |
| CN112631622B (en) | Application installation method, device, server and computer readable medium | |
| US7716414B2 (en) | Method for updating a mobile device using an update package obtained from a remote server | |
| US10019256B2 (en) | Systems and methods for incremental software development | |
| US7987459B2 (en) | Application programming interface for identifying, downloading and installing applicable software updates | |
| US9823915B1 (en) | Software container format | |
| CN105657191B (en) | Application increment upgrading method and system based on Android system | |
| CN111176717B (en) | Method and device for generating installation package and electronic equipment | |
| CN110543327B (en) | Service component multiplexing method, device, computer equipment and storage medium | |
| CN112256296B (en) | Weex-based express service APP updating method, weex-based express service APP updating device, weex-based express service APP updating equipment and storage medium | |
| CN107844400A (en) | Method and device for verifying log data | |
| US11113050B2 (en) | Application architecture generation | |
| CN1973262B (en) | Dynamic Addressing Using a Centralized Dynamic Addressing (DA) Manager | |
| CN115129348B (en) | Resource updating method, device and equipment of application program and readable storage medium | |
| CN113835713A (en) | Source code package downloading method and device, computer equipment and storage medium | |
| CN115794214B (en) | Application module metadata management method, device, storage medium and apparatus | |
| CN113377400A (en) | Software upgrading method and device, storage medium and electronic equipment | |
| US7844734B2 (en) | Dynamic addressing (DA) using a centralized DA manager | |
| CN113448793A (en) | System monitoring method and device compatible with multiple operating systems | |
| CN121411787A (en) | Application installation package distribution methods, application installation package processing methods, and electronic devices | |
| CN115729590B (en) | Service deployment methods, apparatus, equipment and computer-readable storage media | |
| CN108664259B (en) | Method and terminal for installing application | |
| CN115509634A (en) | Input method configuration method, character input method, device and medium | |
| CN113722538B (en) | Interface dynamic rendering method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |