CN107632827B - Method and device for generating installation package of application - Google Patents

Method and device for generating installation package of application Download PDF

Info

Publication number
CN107632827B
CN107632827B CN201610547996.7A CN201610547996A CN107632827B CN 107632827 B CN107632827 B CN 107632827B CN 201610547996 A CN201610547996 A CN 201610547996A CN 107632827 B CN107632827 B CN 107632827B
Authority
CN
China
Prior art keywords
engineering
package
packages
application
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610547996.7A
Other languages
Chinese (zh)
Other versions
CN107632827A (en
Inventor
韩欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610547996.7A priority Critical patent/CN107632827B/en
Publication of CN107632827A publication Critical patent/CN107632827A/en
Application granted granted Critical
Publication of CN107632827B publication Critical patent/CN107632827B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The application discloses a method and a device for generating an installation package of an application. Wherein, the method comprises the following steps: displaying a plurality of engineering packages corresponding to one application, wherein any one of the engineering packages is obtained by compiling one program module of the application; determining one or more project packages selected from the displayed plurality of project packages; and receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages. By the method and the device, the efficiency of compiling the installation package is improved, the construction cost is reduced, and the technical problem of low compiling efficiency of the installation package in the related technology is solved.

Description

Method and device for generating installation package of application
Technical Field
The application relates to the field of software, in particular to a method and a device for generating an installation package of an application.
Background
With the development of the technology, users have more and more demands on various kinds of software, and therefore, the development of the software is paid more and more attention. For example, mobile phone app (application) development is now greatly advanced.
In software development, various management modes for developing source codes and compiling are adopted, and at present, all the management modes are compiling and code management modes based on a complete installation package. In this manner, if a portion of the code has changed, all of the source code for the installation needs to be compiled. For example, instant messaging software on a mobile phone is developed, and compared with the previous version, the modification only adds a small function, namely, the function of displaying the geographical position of the user in real time is enhanced, and other functions are not changed; at this time, a new APP needs to be generated, and then all source codes need to be compiled at the time of compiling, even if the codes of some functional modules are not changed.
Since this compiling method is based on compiling the source code of the complete installation package, the whole is compiled even if the code changes little, which results in low coding efficiency.
Aiming at the problem of low compiling efficiency of installation packages in the related art, an effective solution is not provided at present.
Disclosure of Invention
The embodiment of the application provides a method and a device for generating an installation package of an application, so as to at least solve the technical problem of low compiling efficiency of the installation package in the related art.
According to an aspect of an embodiment of the present application, there is provided a method for generating an installation package of an application, including: displaying a plurality of engineering packages corresponding to one application, wherein any one of the engineering packages is obtained by compiling one program module of the application; determining one or more project packages selected from the displayed plurality of project packages; and receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages.
According to another aspect of the embodiments of the present application, there is also provided a method for generating an installation package of an application, including: compiling source codes of a plurality of program modules of one application respectively according to the compiling command to obtain an engineering package corresponding to each program module; receiving one or more engineering packages selected from the engineering packages corresponding to each program module; and generating an installation package corresponding to the application according to the selected one or more engineering packages.
According to another aspect of the embodiments of the present application, there is also provided an apparatus for generating an installation package of an application, including: the display module is used for displaying a plurality of project packages corresponding to one application, wherein any one of the project packages is obtained by compiling one program module of the application; a determination module for determining one or more project packages selected from the displayed plurality of project packages; and the receiving module is used for receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages.
According to another aspect of the embodiments of the present application, there is also provided an apparatus for generating an installation package of an application, including: the compiling module is used for compiling the source codes of the program modules of one application respectively according to the compiling command to obtain an engineering package corresponding to each program module; the receiving module is used for receiving one or more engineering packages selected from the engineering packages corresponding to each program module; and the generating module is used for generating the installation package corresponding to the application according to the selected one or more engineering packages.
In the embodiment of the application, a plurality of project packages corresponding to one application are displayed, one or more selected project packages from the displayed project packages are determined, and a command is received, so that the generation of the installation package of the application is realized.
It is easy to note that since the source codes of a plurality of program modules of an application are compiled respectively according to the compiling command to obtain the engineering package corresponding to each module, a modular compiling mode is adopted instead of a compiling mode of a complete compression package, so that the modules to be compiled are selected, and the compiling of all the source codes is not required. Therefore, the scheme provided by the embodiment is particularly suitable for the installation package construction process management of multiple modules and a large amount of codes.
Therefore, the technical problem that the compiling efficiency of the installation package in the related technology is low is solved by the scheme of the embodiment provided by the application.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a block diagram of a hardware configuration of a computer terminal according to an embodiment of the present application;
FIG. 2 is a flowchart of a method for generating an installation package of an application according to a first embodiment of the present application;
FIG. 3 is a flowchart of a method for generating an installation package of an application according to a second embodiment of the present application;
FIG. 4 is a schematic illustration of an alternative baseline configuration change according to a second embodiment of the present application;
FIG. 5 is a diagram illustrating an alternative multi-quadrant baseline configuration change and installation package definition according to a second embodiment of the present application;
FIG. 6 is a flowchart of an alternative installation package compilation according to the second embodiment of the present application;
FIG. 7 is a flowchart of an alternative partitioned multi-quadrant baseline configuration file according to a second embodiment of the present application;
FIG. 8 is a flowchart of an alternative installation package generation using inherited baselines according to a second embodiment of the present application;
fig. 9 is a block diagram of a device for generating an installation package of an application according to a third embodiment of the present application;
fig. 10 is a block diagram of an apparatus for generating an installation package of an application according to a fourth embodiment of the present application; and
fig. 11 is a block diagram of a terminal according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The terms referred to in the following examples may have the following meanings:
installation package of the application: the application may be an application on a computer, or an application on a server, or an application on a mobile terminal.
A client side installation package: in particular to a client application software package installed on a mobile phone. The android is an apk format file, and the iOS is an ipa format file, or may be called a client app.
An engineering bag: the code that makes up a certain function of an application (e.g., a client app) is a binary intermediate obtained by compilation. Wherein android is compiled into jar packages and ios is compiled into frames.
Coordinates of the engineering package: and (4) performing grouping by using the names, the classifications and the like of the engineering packages so as to distinguish whether the engineering packages are the same in purpose. For example, in a conventional maven management manner, a group id and an artifactId are used to define a coordinate.
And (3) configuring a basic wire of the engineering package: a list of engineering packages that make up an application (e.g., client app) installation package available evolves forward as the engineering package configuration changes.
Change set: one or several engineering packages of the current change.
The client side issues: development activities that are spread around one application (e.g., client app) version.
And (3) parallel development: several versions of clients coexist to perform development work simultaneously.
The baseline inherits: the existing engineering package baseline configuration is used as the baseline configuration of the new installation package, and development is carried out on the basis of the existing engineering package baseline configuration, so that the engineering package which does not need to be changed in the early period is obtained.
Updating the base line: in certain stages of development, the baseline configuration is updated to another baseline configuration to achieve partial rollback or to obtain content modified in other releases.
Example 1
According to an embodiment of the present application, there is provided an embodiment of a method for generating an installation package of an application, where it is noted that the steps illustrated in the flowchart of the drawings may be executed in a computer system such as a set of computer executable instructions, and that although a logical order is illustrated in the flowchart, in some cases, the steps illustrated or described may be executed in an order different from that herein.
The method provided by the first embodiment of the present application may be executed in a computer device or a similar computing device. This is because a general computing device can compile software, and the computing device or the operating device is required to be installed with development software, so that a developer can compile in such a computing device or an operating device, for example, in linux, using GCC. A single computing device or computing means may perform the compilation task, for example, such a computing device may be an existing computer, such as a personal computer PC, or may also be a server. As technology advances, mobile terminals may also act as such computing devices as their computing capabilities are increasingly enhanced. The computing device may be based on an existing architecture, for example, fig. 1 is a hardware structure block diagram of a computer terminal of a method for generating an installation package of an application according to an embodiment of the present application. As shown in fig. 1, the computer terminal 10 may include one or more processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. Besides, the method can also comprise the following steps: a display, an input/output interface (I/O interface), a Universal Serial Bus (USB) port (which may be included as one of the ports of the I/O interface), a network interface, a power source, and/or a camera. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration and is not intended to limit the structure of the electronic device. For example, the computer terminal 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
It should be noted that the one or more processors 102 and/or other data processing circuitry described above may be referred to generally herein as "data processing circuitry". The data processing circuitry may be embodied in whole or in part in software, hardware, firmware, or any combination thereof. Further, the data processing circuit may be a single stand-alone processing module, or incorporated in whole or in part into any of the other elements in the computer terminal 10 (or mobile device). As referred to in the embodiments of the application, the data processing circuit acts as a processor control (e.g. selection of a variable resistance termination path connected to the interface).
The memory 104 may be configured to store software programs and modules of application software, such as program instructions/modules corresponding to the method for generating the installation package of the application in the embodiment of the present application, and the processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implements the method for generating the installation package of the application. The memory 104 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used for receiving or transmitting data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device 106 can be a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The computing device may be a single device. In this case, the hardware configuration of the server may be the same as that of the computing device or the arithmetic device. I.e., the computing devices described above may also be a server cluster. At present, cloud computing is already applied, and can also be compiled through cloud computing, that is, the computing device or the computing apparatus can also be a foundation for forming a cloud computing platform.
In the above operating environment, the present embodiment provides a method for generating an installation package of an application as shown in fig. 2. Fig. 2 is a flowchart of a method for generating an installation package of an application according to a first embodiment of the present application, and as shown in fig. 2, the flowchart includes the following steps:
step S202, displaying a plurality of engineering packages corresponding to one application, wherein any one of the engineering packages is obtained by compiling one program module of the application.
Specifically, in step S202, the program module may be a source code for implementing a specific function or a specific function in an application, and for an application, the source code of the application may be divided according to function to obtain a plurality of program modules, for example, in an instant messaging software, the program modules may be divided according to function into the following modules: data encryption function, communication protocol processing function, position display function, text interaction function, picture processing function, address list management function and the like. The source code of the application may also be divided according to different functions to obtain a plurality of program modules, for example, a rights management function, a communication function, a data storage function, and the like. The user can select according to actual needs, and how to divide the program modules does not influence the achievement of the technical effect of the application.
Optionally, when compiling and packaging one or more modules of the application installation package, there may be many ways, for example, maven and gradle may be used to compile android, and for example, coco codes may be used to compile ios. The compiling method has various compiling methods on different operating systems, and any compiling method can solve the problems to be solved by the application and obtain corresponding technical effects, so how to specifically execute various compiling methods is not described herein again.
Step S204, one or more selected engineering packages from the displayed engineering packages are determined.
And step S206, receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages.
Optionally, the engineering package may be obtained by compiling an application program module, the installation package may be generated by compiling the selected engineering package, the compiling of the engineering package and the compiling of the installation package may be two different compiling commands, or may be the same compiling command, for example, in Gcc, the compiling commands are Gcc-parameters, and the corresponding "parameters" for the compiling of the engineering package and the compiling of the installation package are different. In other compilation environments, different editing commands may be used depending on the actual needs.
In an optional scheme, the source code of the application may be divided into modules to obtain program modules, each program module is compiled to obtain a corresponding engineering package, and when the installation package of the application is generated, a user may select one or more engineering packages from a plurality of engineering packages as needed, and compile according to the selected engineering packages to obtain the installation package of the application.
For example, the following describes the development of an installation package of instant messaging software. The instant messaging software can be divided into the following modules: the system comprises a data encryption function, a communication protocol processing function, a position display function, a text interaction function, a picture processing function and an address list management function. In developing the first version of the instant messaging software, all program modules in the application can be compiled, so that an engineering package corresponding to each function is obtained. Thereafter, in the second version of the instant messaging software, if only the position display function is updated, the source code corresponding to the position display function may be compiled to obtain a new engineering package, and then the previous engineering packages of other function modules and the newly obtained engineering package are compiled to obtain the installation package of the application. Compared with the compiling mode of complete source code, the compiling mode just compiles one functional module, and the compiling efficiency is necessarily improved.
Also, for example, in the data encryption function, an encryption function, a compression function, a data reception and transmission function, and the like are used. If only the encryption function is changed, only the modified encryption function needs to be compiled, and the other parts of the code do not need to be recompiled.
It should be noted here that, the application program is divided into a plurality of program modules according to functions, and some undeveloped functions can be shielded, for example, if only the position display function, the text interaction function, and the communication protocol processing function are completed, at this time, the three functions may be compiled to generate an installation package, and then the functions may be tested. The compiling mode can also reduce errors generated when incomplete or immature codes are compiled, and can also improve the compiling efficiency.
As can be seen from the above, in the solution disclosed in the first embodiment of the present application, a plurality of engineering packages corresponding to one application are displayed, one or more engineering packages selected from the displayed plurality of engineering packages are determined, and a command is received, so that the generation of the installation package of the application is realized.
It is easy to note that since the source codes of a plurality of program modules of an application are compiled respectively according to the compiling command to obtain the engineering package corresponding to each module, a modular compiling mode is adopted instead of a compiling mode of a complete compression package, so that the modules to be compiled are selected, and the compiling of all the source codes is not required. Therefore, the scheme provided by the embodiment is particularly suitable for the construction process management of the installation package with multiple modules and a large number of codes, and can achieve the effects of improving the client compiling efficiency, reducing the construction cost and controlling the product quality.
Therefore, the technical problem that the compiling efficiency of the installation package in the related art is low is solved by the scheme of the first embodiment provided by the application.
Optionally, according to the above embodiment of the present application, the step S202 of displaying a plurality of engineering packages corresponding to one application may include the following steps:
step S2022, displaying identification information of a plurality of program modules corresponding to one application, wherein the identification information can be operated by a user.
Step S2024, in response to the operation of the user on the identification information of the predetermined program module, displaying one or more engineering packages corresponding to the predetermined program module, where the one or more engineering packages are identified by using the attribute information of the engineering package, and the attribute information includes at least one of: version number of the engineering package, timestamp.
It should be noted here that after the source code of the same program module is updated each time, compiling the source code will obtain a new engineering package, so as to facilitate management of the engineering package and selection of one or more engineering packages for generating an installation package of an application, and identification information may be set for the engineering package corresponding to each module.
In an optional scheme, identification information may be set for the engineering package corresponding to each module, where the identification information is used to identify the module to which the engineering package belongs, and the source codes of different versions of each module respectively correspond to one engineering package. This approach allows identification of which module different engineering packages belong to. There are many ways of identification, for example, incremental data may be used for numbering; alternatively, for example, in order to make the identification information clearer, meaningful information may be used as the identification information. For example, tongxun may be used as the identification information of the engineering package corresponding to the communication module. The code of each program module may have a plurality of versions, each version may correspond to one engineering package, and since the engineering packages are all engineering packages corresponding to one program module, the identification information of the engineering packages should be consistent.
In an alternative, as described above, the code for each program module may have multiple versions, each of which may correspond to an engineering package. In order to distinguish the engineering packages corresponding to the same program module, in an optional implementation manner, attribute information of the engineering package may also be set for each engineering package, for example, the attribute information may include at least one of the following: version number of the engineering package, timestamp. As will be described below with reference to an example, after the engineering package corresponding to each module is obtained through compilation, the engineering package may be distributed to the intermediate product warehouse in a format (e.g., 1.0.1.20150330.1502161828) in which an agreed version number is added with a timestamp, and corresponding records are recorded in the intermediate product warehouse, and coordinates and version information of the engineering package are extracted as an index. Alternatively, recording may be done in a time-stamped fashion only (e.g., 20150330.1502161828). Or may be recorded using only the version number (e.g., 1.0.1).
For example, the development of an installation package of instant messaging software is still taken as an example for description. The instant messaging software can be divided into the following modules: the system comprises a data encryption function, a communication protocol processing function, a position display function, a text interaction function, a picture processing function and an address book management function, and numbers 1, 2, 3, 4, 5 and 6 are used for respectively representing engineering packages corresponding to the 6 modules, namely, the number 1 represents an engineering package corresponding to the data encryption function, the number 2 represents an engineering package corresponding to the communication protocol processing function, the number 3 represents an engineering package corresponding to the position display function, the number 4 represents an engineering package corresponding to the text interaction function, the number 5 represents an engineering package corresponding to the picture processing function, and the number 6 represents an engineering package corresponding to the address book management function. In a second version, for example, version 1.0.1, only the source code of the location display function is updated, the updated source code of the location display function may be compiled to obtain an engineering package corresponding to the location display function, the identification information 3 may be set for the engineering package, and the version number 1.0.1 is set, that is, the engineering package may be the engineering package 3.1.0.1. By setting the identification information and the attribute information for the engineering package, each engineering package in the whole development process of the instant messaging software can be distinguished, and the engineering package can be conveniently searched and selected.
Optionally, according to the above embodiment of the present application, after determining one or more engineering packages selected from the displayed plurality of engineering packages in step S204, the method may further include the following steps:
in step S2042, a prompt message is displayed, where the prompt message is used to prompt the user whether to save the information of the plurality of project packages selected this time.
In step S2044, in response to the save operation performed by the user, identification information is given to the information of the selected plurality of project packages and saved.
In an optional scheme, after the user selects a required engineering package, the identification information of all required engineering packages and the attribute information of all required engineering packages may be combined together, and the combined information is stored as the configuration information of the installation package. That is, in this alternative, the coordinates and version number lists of a group of engineering packages may be combined and archived, as an engineering package baseline configuration constituting a client app, and data warehousing may be performed.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After selecting the 1.0.3 version engineering package corresponding to the location display function, the 1.0.2 version engineering package corresponding to the text interaction function, and the 1.0.1 version function package corresponding to the communication protocol processing function in the instant messaging software, the identification information and the attribute information of the engineering package can be combined together, that is, the identification information 3 and the attribute information 1.0.3, the identification information 4 and the attribute information 1.0.2, and the identification information 2 and the attribute information 1.0.1 are combined together to generate a baseline of an installation package, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.1, and the baseline is stored.
Optionally, according to the above embodiment of the present application, the method may further include the following steps:
step S212, displaying the saved one or more identification information, wherein at least one of the one or more identification information can be operated by a user.
Step S214, responding to the operation of the user on the preset identification information in the one or more identification information, displaying the information of a plurality of project packages corresponding to the identification information.
In an optional scheme, when a new installation package needs to be generated, a user may delete, modify, or add a new engineering package to one or more engineering packages corresponding to an original installation package, and may compile again to obtain a new installation package of the application according to the one or more engineering packages corresponding to the installation package after deletion, modification, or addition.
In an optional embodiment, when the project package configuration of the new client app is calculated, the existing project package version may be covered with the original project package baseline according to the principle that coordinates are not repeated, for the configuration with repeated coordinates, a new project package configuration list is generated, the installation package is compiled, and when the compilation is passed, a new baseline configuration is generated and data is put into a database. Thus, instead of implementation, decoupled compilation of intermediate products (i.e., engineering packages) is done through interface dependencies, i.e., compilation relies on declarations of methods, and other engineering packages can be compiled based on compiled products of earlier versions of the current engineering package when the method declarations do not need to be changed. Similarly, the rollback or deletion of the function is only to operate a corresponding data record, and only the version configuration of a certain engineering package needs to be rolled back, and the installation package needs to be recompiled, and the source code does not need to be recompiled.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After the communication protocol processing function is updated, the updated source code may be compiled to obtain a new version of the engineering package, that is, the engineering package 2.1.0.2, which may obtain the baseline stored last time, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.1, and according to the identification information of the engineering package, it is determined that the engineering package 2.1.0.2 changes compared to the last engineering package 2.1.0.1, and the engineering package 2.1.0.1 may be covered with the engineering package 2.1.0.2 to generate a new baseline, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.2.
Optionally, according to the above embodiment of the present application, in step S214, displaying information of a plurality of engineering packages corresponding to the identification information may include the following steps:
step S2142 displays information for operating any one of the plurality of engineering packages corresponding to the identification information.
Step S2144, responding to the information of the user operating the predetermined engineering package in the plurality of engineering packages corresponding to the identification information, and operating the predetermined engineering package, wherein the operation includes at least one of the following: and (4) deleting and replacing.
In an optional scheme, when a new installation package needs to be generated, a user may delete and modify one or more engineering packages corresponding to an original installation package, and according to the one or more engineering packages corresponding to the deleted and modified installation packages, recompile the one or more engineering packages to obtain the new installation package for application.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After the communication protocol processing function is updated, the updated source code may be compiled to obtain a new version of the engineering package, that is, the engineering package 2.1.0.2, which may obtain the baseline stored last time, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.1, and according to the identification information of the engineering package, it is determined that the engineering package 2.1.0.2 changes compared to the last engineering package 2.1.0.1, and the engineering package 2.1.0.1 may be covered with the engineering package 2.1.0.2 to generate a new baseline, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.2.
Optionally, according to the above embodiment of the present application, in step S214, displaying information of a plurality of engineering packages corresponding to the identification information may include the following steps:
step S2146, an addition instruction is displayed.
Step S2148, in response to the user' S operation on the add instruction, add an engineering package to the plurality of engineering packages corresponding to the identification information.
In an optional scheme, when a new installation package needs to be generated, a user may add a new engineering package to one or more engineering packages corresponding to an original installation package, and recompile the new installation package according to the one or more engineering packages corresponding to the new installation package to obtain a new installation package for the application.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After the communication protocol processing function is updated, the updated source code may be compiled to obtain a new version of the engineering package, that is, the engineering package 2.1.0.2, which may obtain the baseline stored last time, including the engineering package 3.1.0.3 and the engineering package 4.1.0.2, determine to add the engineering package 2.1.0.2 according to the identification information of the engineering package, add the engineering package 2.1.0.2 to the previous two engineering packages, and generate a new baseline, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.2.
Optionally, according to the above embodiment of the present application, after the step S2144, after the operation is performed on the predetermined engineering package, the method may further include the following steps:
in step S222, new identification information is added to the information of the plurality of engineering packages after the operation, and the information is stored.
In an optional scheme, in the case that a new installation package of the application is obtained through recompilation, one or more engineering packages corresponding to the new installation package may be identified with new identification information and stored.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After the communication protocol processing function is updated, the updated source code may be compiled to obtain a new version of the engineering package, that is, the engineering package 2.1.0.2, which may obtain the baseline stored last time, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.1, and according to the identification information of the engineering package, it is determined that the engineering package 2.1.0.2 changes compared to the last engineering package 2.1.0.1, and the engineering package 2.1.0.1 may be covered with the engineering package 2.1.0.2 to generate a new baseline, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.2.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method of the embodiments of the present application.
Example 2
There is also provided, in accordance with an embodiment of the present application, an embodiment of a method for generating an installation package of an application, where it is noted that the steps illustrated in the flowchart of the drawings may be performed in a computer system, such as a set of computer-executable instructions, and that, although a logical order is illustrated in the flowchart, in some cases, the steps illustrated or described may be performed in an order different than here.
Fig. 3 is a flowchart of a method for generating an installation package of an application according to a second embodiment of the present application, and as shown in fig. 3, the flowchart may include the following steps:
step S302, respectively compiling source codes of a plurality of program modules (hereinafter, referred to as modules) of an application according to the compiling command, and obtaining an engineering package corresponding to each module.
Specifically, in step S302, the program module may be a source code for implementing a specific function or a specific function in an application, and for an application, the source code of the application may be divided according to function to obtain a plurality of program modules, for example, in an instant messaging software, the program modules may be divided according to function into the following modules: data encryption function, communication protocol processing function, position display function, text interaction function, picture processing function, address list management function and the like. The source code of the application may also be divided according to different functions to obtain a plurality of program modules, for example, a rights management function, a communication function, a data storage function, and the like. The user can select according to actual needs, and how to divide the program modules does not influence the achievement of the technical effect of the application.
Optionally, when compiling and packaging one or more modules of the application installation package, there may be many ways, for example, maven and gradle may be used to compile android, and for example, coco codes may be used to compile ios. The compiling method has various compiling methods on different operating systems, and any compiling method can solve the problems to be solved by the application and obtain corresponding technical effects, so how to specifically execute various compiling methods is not described herein again.
Step S304, one or more engineering packages selected from the engineering packages corresponding to each program module are received.
And S306, generating an installation package corresponding to the application according to the selected one or more engineering packages.
Optionally, the engineering package may be obtained by compiling an application program module, the installation package may be generated by compiling the selected engineering package, the compiling of the engineering package and the compiling of the installation package may be two different compiling commands, or may be the same compiling command, for example, in Gcc, the compiling commands are Gcc-parameters, and the corresponding "parameters" for the compiling of the engineering package and the compiling of the installation package are different. In other compilation environments, different editing commands may be used depending on the actual needs.
In an optional scheme, the source code of the application may be divided into modules to obtain program modules, each program module is compiled to obtain a corresponding engineering package, and when the installation package of the application is generated, a user may select one or more engineering packages from a plurality of engineering packages as needed, and compile according to the selected engineering packages to obtain the installation package of the application.
For example, the following describes the development of an installation package of instant messaging software. The instant messaging software can be divided into the following modules: the system comprises a data encryption function, a communication protocol processing function, a position display function, a text interaction function, a picture processing function and an address list management function. In developing the first version of the instant messaging software, all program modules in the application can be compiled, so that an engineering package corresponding to each function is obtained. Thereafter, in the second version of the instant messaging software, if only the position display function is updated, the source code corresponding to the position display function may be compiled to obtain a new engineering package, and then the previous engineering packages of other function modules and the newly obtained engineering package are compiled to obtain the installation package of the application. Compared with the compiling mode of complete source code, the compiling mode just compiles one functional module, and the compiling efficiency is necessarily improved.
Also, for example, in the data encryption function, an encryption function, a compression function, a data reception and transmission function, and the like are used. If only the encryption function is changed, only the modified encryption function needs to be compiled, and the other parts of the code do not need to be recompiled.
It should be noted here that, the application program is divided into a plurality of program modules according to functions, and some undeveloped functions can be shielded, for example, if only the position display function, the text interaction function, and the communication protocol processing function are completed, at this time, the three functions may be compiled to generate an installation package, and then the functions may be tested. The compiling mode can also reduce errors generated when incomplete or immature codes are compiled, and can also improve the compiling efficiency.
As can be seen from the above, in the solution disclosed in the second embodiment of the present application, the source codes of the multiple program modules of one application are compiled according to the compiling command to obtain the engineering package corresponding to each module, one or more engineering packages selected from the engineering packages corresponding to each program module are received, and the installation package corresponding to the application is generated according to the selected one or more engineering packages, so as to implement generation of the installation package of the application.
It is easy to note that since the source codes of a plurality of program modules of an application are compiled respectively according to the compiling command to obtain the engineering package corresponding to each module, a modular compiling mode is adopted instead of a compiling mode of a complete compression package, so that the modules to be compiled are selected, and the compiling of all the source codes is not required. Therefore, the scheme provided by the embodiment is particularly suitable for the construction process management of the installation package with multiple modules and a large number of codes, and can achieve the effects of improving the client compiling efficiency, reducing the construction cost and controlling the product quality.
Therefore, the second embodiment of the present application solves the technical problem of low compiling efficiency of the installation package in the related art.
Optionally, according to the embodiment of the present application, after obtaining the engineering package corresponding to each program module in step S302, the method may further include the following steps:
step S312, setting identification information for the engineering package corresponding to each program module, where the identification information is used to identify the program module to which the engineering package belongs, and the source codes of different versions of each program module correspond to one engineering package respectively.
It should be noted here that after the source code of the same program module is updated each time, compiling the source code will obtain a new engineering package, so as to facilitate management of the engineering package and selection of one or more engineering packages for generating an installation package of an application, and identification information may be set for the engineering package corresponding to each module.
In an optional scheme, identification information may be set for the engineering package corresponding to each module, where the identification information is used to identify the module to which the engineering package belongs, and the source codes of different versions of each module respectively correspond to one engineering package. This approach allows identification of which module different engineering packages belong to. There are many ways of identification, for example, incremental data may be used for numbering; alternatively, for example, in order to make the identification information clearer, meaningful information may be used as the identification information. For example, tongxun may be used as the identification information of the engineering package corresponding to the communication module. The code of each program module may have a plurality of versions, each version may correspond to one engineering package, and since the engineering packages are all engineering packages corresponding to one program module, the identification information of the engineering packages should be consistent.
Step S314, setting attribute information of the engineering package for each engineering package, wherein the attribute information comprises at least one of the following items: version number of the engineering package, timestamp.
In an alternative, as described above, the code for each program module may have multiple versions, each of which may correspond to an engineering package. In order to distinguish the engineering packages corresponding to the same program module, attribute information of each engineering package may be set, for example, the attribute information may include at least one of the following: version number of the engineering package, timestamp.
As will be described below with reference to an example, after the engineering package corresponding to each module is obtained through compilation, the engineering package may be distributed to the intermediate product warehouse in a format (e.g., 1.0.1.20150330.1502161828) in which an agreed version number is added with a timestamp, and corresponding records are recorded in the intermediate product warehouse, and coordinates and version information of the engineering package are extracted as an index. Alternatively, recording may be done in a time-stamped fashion only (e.g., 20150330.1502161828). Or may be recorded using only the version number (e.g., 1.0.1).
For example, the development of an installation package of instant messaging software is still taken as an example for description. The instant messaging software can be divided into the following modules: the system comprises a data encryption function, a communication protocol processing function, a position display function, a text interaction function, a picture processing function and an address book management function, and numbers 1, 2, 3, 4, 5 and 6 are used for respectively representing engineering packages corresponding to the 6 modules, namely, the number 1 represents an engineering package corresponding to the data encryption function, the number 2 represents an engineering package corresponding to the communication protocol processing function, the number 3 represents an engineering package corresponding to the position display function, the number 4 represents an engineering package corresponding to the text interaction function, the number 5 represents an engineering package corresponding to the picture processing function, and the number 6 represents an engineering package corresponding to the address book management function. In a second version, for example, version 1.0.1, only the source code of the location display function is updated, the updated source code of the location display function may be compiled to obtain an engineering package corresponding to the location display function, the identification information 3 may be set for the engineering package, and the version number 1.0.1 is set, that is, the engineering package may be the engineering package 3.1.0.1. By setting the identification information and the attribute information for the engineering package, each engineering package in the whole development process of the instant messaging software can be distinguished, and the engineering package can be conveniently searched and selected.
Optionally, according to the above embodiment of the present application, the step S304 of receiving the selected one or more engineering packages may include the following steps:
in step S3042, the selected program module is received.
Step S3044, selecting a required engineering package from the one or more engineering packages corresponding to the selected program module according to the attribute information of the engineering package.
There are many ways to select one or more engineering packages for generating an installation package, and in an optional embodiment, the modules required for generating the installation package may be selected as needed, and the required engineering packages are selected from one or more engineering packages corresponding to the required modules according to the attribute information of the engineering packages. For example, the application installation package at this time only needs to test the communication protocol, and then only the engineering package corresponding to the communication protocol processing module is selected to be compiled.
In the above examples, reference is made to an intermediate product warehouse, which may be implemented using a variety of techniques. For example, the intermediate product warehouse may use nexus to build a proprietary as a solution. If the scheme is used, the coordinates of the engineering package can be specified by using groupId and artifactId definitions of a maven mode. In this optional embodiment, a list of coordinates and version numbers of a group of engineering packages may be obtained according to the principle that coordinates are not repeated, and configuration files such as pom. For the coordinate defined by the maven mode, the required engineering package can be screened out according to the principle that the combination of the groupId and the artifactId cannot be repeated. In maven, two identifiers, namely, groupID and artifactID, are used to uniquely identify a type of engineering package, that is, the same groupID and artifactID are used to identify different engineering packages corresponding to the same program module. Therefore, by the principle that coordinates are not repeated, the situation that the compiling efficiency of the installation package is reduced due to the fact that a plurality of engineering packages with different attribute information are screened out by the same program module can be avoided.
For example, the development of an installation package of instant messaging software is still taken as an example for description. In the instant messaging software, if the position display function, the text interaction function and the communication protocol processing function are completed, in order to generate an installation package and realize the test of the functions, engineering packages corresponding to the three modules can be selected, wherein the position display function comprises 3 versions of engineering packages, namely an engineering package of 1.0.1 version, an engineering package of 1.0.2 version and an engineering package of 1.0.3 version, the text interaction function comprises two versions of engineering packages, namely an engineering package of 1.0.1 version and an engineering package of 1.0.2 version, and the communication protocol processing function comprises 1 version of engineering packages and an engineering package of 1.0.1 version. The required engineering package corresponding to each module may be determined according to the version number of the engineering package, for example, the 1.0.3 version engineering package corresponding to the location display function, the 1.0.2 version engineering package corresponding to the text interaction function, and the 1.0.1 version engineering package corresponding to the communication protocol processing function may be selected.
Through the embodiment, the engineering package corresponding to the required module can be selected according to the attribute information of the engineering package, the installation package is further compiled to obtain, the source code of the whole installation package does not need to be compiled, and the compiling efficiency of the installation package is improved.
Optionally, according to the above embodiment of the present application, after the step S3044 selects the required engineering package, the method further includes:
step S312, the identification information of all the required engineering packages and the attribute information of all the required engineering packages are combined together.
In step S314, the information obtained by the combination is stored as configuration information of the installation package.
In an optional scheme, after the user selects a required engineering package, the identification information of all required engineering packages and the attribute information of all required engineering packages may be combined together, and the combined information is stored as the configuration information of the installation package. That is, in this alternative, the coordinates and version number lists of a group of engineering packages may be combined and archived, as an engineering package baseline configuration constituting a client app, and data warehousing may be performed.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After selecting the 1.0.3 version engineering package corresponding to the location display function, the 1.0.2 version engineering package corresponding to the text interaction function, and the 1.0.1 version function package corresponding to the communication protocol processing function in the instant messaging software, the identification information and the attribute information of the engineering package can be combined together, that is, the identification information 3 and the attribute information 1.0.3, the identification information 4 and the attribute information 1.0.2, and the identification information 2 and the attribute information 1.0.1 are combined together to generate a baseline of an installation package, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.1, and the baseline is stored.
Through the embodiment, the final installation package compiling configuration can be generated by carrying out version recording on the engineering package and in the form of the configuration table, so that the installation package compiling is separated from the source code, and the construction is accelerated.
Optionally, according to the foregoing embodiment of the present application, after the installation package corresponding to the application is generated in step S306, the method may further include the following steps:
step S322, in a case that a new installation package of the application is generated again, obtaining one or more engineering packages corresponding to the obtained new installation package, where the new installation package is generated according to the one or more engineering packages.
In step S324, the configuration information saved before is acquired.
In step S326, when it is determined that the identification information and/or the attribute information of one or more engineering packages corresponding to the new installation package is changed from the previously stored configuration information, new configuration information is generated and stored.
In an optional scheme, in the case of recompiling to obtain a new installation package of the application, one or more engineering packages corresponding to the new installation package may be obtained, and the configuration information saved when the installation package was obtained by previous compilation may be obtained, then it is determined whether the identification information and/or the attribute information of the one or more engineering packages corresponding to the new installation package is changed compared with the configuration information saved before, and in the case of the change, the new configuration information is generated and saved.
In an optional embodiment, when the project package configuration of the new client app is calculated, the existing project package version may be covered with the original project package baseline according to the principle that coordinates are not repeated, for the configuration with repeated coordinates, a new project package configuration list is generated, the installation package is compiled, and when the compilation is passed, a new baseline configuration is generated and data is put into a database. Thus, instead of implementation, decoupled compilation of intermediate products (i.e., engineering packages) is done through interface dependencies, i.e., compilation relies on declarations of methods, and other engineering packages can be compiled based on compiled products of earlier versions of the current engineering package when the method declarations do not need to be changed. Similarly, the rollback or deletion of the function is only to operate a corresponding data record, and only the version configuration of a certain engineering package needs to be rolled back, and the installation package needs to be recompiled, and the source code does not need to be recompiled.
For example, the development of an installation package of instant messaging software is still taken as an example for description. After the communication protocol processing function is updated, the updated source code may be compiled to obtain a new version of the engineering package, that is, the engineering package 2.1.0.2, which may obtain the baseline stored last time, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.1, and according to the identification information of the engineering package, it is determined that the engineering package 2.1.0.2 changes compared to the last engineering package 2.1.0.1, and the engineering package 2.1.0.1 may be covered with the engineering package 2.1.0.2 to generate a new baseline, including the engineering package 3.1.0.3, the engineering package 4.1.0.2, and the engineering package 2.1.0.2.
Optionally, according to the foregoing embodiment of the present application, after generating new configuration information in step S326, the method may further include the following steps:
step S332, comparing the new configuration information with the previously stored configuration information to obtain a difference, and storing the difference information.
In an alternative embodiment, after generating the new configuration information, the new configuration information may be compared with the previously saved configuration information to obtain a difference, and the information of the difference is saved. For example, a baseline can be generated according to the combination of the coordinates and the version of the engineering package, and a baseline evolution diagram can be generated according to the version change of the engineering package, so as to record the current configuration and the change process of the baseline.
Fig. 4 is a schematic diagram of an optional baseline configuration change according to a second embodiment of the present application, as shown in fig. 4, when a current client APP enters development, according to design, a total of 5 engineering packages are involved, that is, the engineering package 1, the engineering package 2, the engineering package 3, the engineering package 4, and the engineering package 5 in fig. 4, at a first time node, the engineering package 4 is not developed completely, and the engineering package 1, the engineering package 2, the engineering package 3, and the engineering package 5 are used for assembly, so that a first baseline configuration, that is, a baseline in fig. 4, is generated. As development work continues, the project package 1, project package 4, and project package 5 have updated versions, respectively, and when the installation package is recompiled, a baseline' is obtained (representing the new baseline). The development work is continued again, the versions are updated by the engineering package 1, the engineering package 2 and the engineering package 5, respectively, and a baseline is obtained when the installation package is compiled again. Thus, the baseline may be a set of available engineering package configurations that may make up the installation package, and the baseline configuration equation may be baseline '═ baseline + change set, baseline' + change set. Therefore, the change process of the project package can be recorded according to the change set. Through baseline configuration, the installation package can be compiled according to the change set and the saved baseline, the change set is obtained only by compiling the updated source code, the compiling efficiency of the installation package is improved, and the construction cost of the installation package is reduced.
To more clearly illustrate FIG. 4, FIG. 4 is now represented using the following table:
the configuration of the baseline is as follows (circled label selection project package):
TABLE 1
Figure BDA0001047583820000171
Figure BDA0001047583820000181
The configuration of baseline' is as follows (circled labeled selected engineering package):
TABLE 2
Engineering bag 1 Engineering bag 2 Engineering bag 3 Engineering bag 4 Engineering bag 5
1 1 1
1
3 3 3
4
The configuration of baseline "is as follows (circled labeled selected engineering package):
TABLE 3
Engineering bag 1 Engineering bag 2 Engineering bag 3 Engineering bag 4 Engineering bag 5
1 1 1
2 2 1 2
3
Through the optional embodiment, comparison can be configured on a base line to obtain the difference, so that key attention and verification or problem backtracking can be performed.
Optionally, according to the foregoing embodiment of the present application, the attribute information may further include: the method may further include the following steps:
step S342, determining the maturity of the compiled installation package according to the function completion of the selected one or more engineering packages, where the maturity is used to indicate the degree of the function of the installation package achieving the expected effect.
It should be noted here that, when generating the application installation package, a plurality of configuration records may be created according to different quality requirements in combination with a development process, and each stage may be managed according to the dimension of the function module.
In an optional scheme, the attribute information set by each engineering package may further include a function completion degree, where the function completion degree is used to indicate a degree to which a function corresponding to the engineering package can achieve an expected effect. For example, the engineering package may be a test version, a stable version, etc., where the test version indicates that the function of the engineering package is not stable enough, and the stable version indicates that the function of the engineering package is stable. For another example, the degree of the function of the engineering package capable of achieving the desired effect can also be expressed according to the degree of matching of the engineering package with other engineering packages, for example, the interfaces of the A engineering package and the B engineering package are already completed, but the interface with the C engineering package is still not completed.
In another alternative, the maturity of the compiled installation package may also be determined according to the function completion of the selected one or more engineering packages, where the maturity is used to indicate the degree to which the function of the installation package achieves the expected effect. For example, if most of the engineering packages of an installation package are in a test state, the installation package of the application is also in a test state, if only one or two engineering packages are in a test state, while most of the other engineering packages are in a stable state, the installation package of the application can be considered as a stable state, and if all the engineering packages are in a stable state, the installation package of the application can be considered as a release state.
By the scheme provided by the embodiment, on the basis of baseline management, the configuration of a plurality of quadrants can be divided according to the test verification degree, and meanwhile, a plurality of types of definitions are given to the installation package according to the quadrant definitions, so that the aim of controlling the product quality is fulfilled.
For example, the above scheme is still described in detail by taking the development of an installation package of instant messaging software as an example. In the instant communication software, a function completion degree can be set for each engineering package, the function completion degree of the engineering package 3.1.0.3 is set as a test, the function completion degree of the engineering package 4.1.0.2 is a test, and the function completion degree of the engineering package 2.1.0.2 is a test, when an installation package is generated, a required engineering package can be selected according to the function completion degree, for example, when the quality requirement is not high, the engineering package with the function completion degree as the test can be selected, the installation package is generated by compiling, the obtained installation package can be a test installation package, and then corresponding function tests are performed. When the quality requirement is high, the function completion degree can be selected as a distributable engineering package, and the installation package is compiled and generated.
Fig. 5 is a schematic diagram of an optional multi-quadrant baseline configuration change and installation package definition according to the second embodiment of the present application, and as shown in fig. 5, a most unstable test baseline used for development and test is defined, an RC baseline that needs to pass test verification and can be popularized and tested in a small range and in a company, and a Release baseline (Release baseline) used for gray scale and formal Release. According to the baseline configuration formula, a test packet is prepackaged as RC baseline + gray level change set (gray level state engineering packet) + RC change set + test change set + newly-developed change set, the test packet is as RC baseline + gray level change set (gray level state engineering packet) + RC change set + test change set, the RC packet is prepackaged as RC baseline + gray level change set + RC application change set, the RC packet is as RC baseline + gray level change set + RC change set, the gray level packet is as Release baseline + gray level change set, and a final configuration algorithm for compiling the installation packet is obtained.
By the scheme provided by the embodiment, on the basis of baseline management, the configuration of a plurality of quadrants can be divided according to the test verification degree, and meanwhile, a plurality of types of definitions are given to the installation package according to the quadrant definitions, so that the aim of controlling the product quality is fulfilled.
Next, a preferred embodiment of the present application will be described in detail with reference to fig. 6, 7 and 8.
Fig. 6 is a flowchart of compiling an installation package according to an embodiment of the present application, and as shown in fig. 6, the flowchart may include the following steps S61 to S67:
and step S61, compiling the engineering package.
Optionally, the source code of the application may be divided into one or more modules, and the source code of the one or more modules used for generating the installation package is compiled and packaged to obtain the engineering package corresponding to each module.
And step S62, recording the coordinates and the version information of the engineering package.
Optionally, after the engineering package is compiled, the engineering package may be issued to an intermediate product warehouse in a format of adding a timestamp to an agreed version number, and the engineering package is recorded in the intermediate product warehouse, and coordinates and version information of the engineering package are extracted as an index.
Step S63, the current baseline configuration is obtained.
Optionally, the coordinates and version information of a group of engineering packages may be obtained according to a coordinate non-repetition principle to generate a configuration file, so as to obtain the current baseline configuration.
And step S64, combining the coordinates and the version information of the engineering package.
Optionally, the coordinates and version information of a group of engineering packages are combined together and filed to serve as the baseline configuration of the engineering packages forming an installation package, and data is stored in a database.
Step S65, the installation package is compiled.
Optionally, when the configuration of the engineering package of the installation package is generated by calculation, a new set of configuration list of the engineering package may be generated by covering the existing engineering version with the configuration of the coordinate repetition by using the original base line of the engineering package according to the principle that the coordinate is not repeated, and the installation package is compiled.
In step S66, it is determined whether the installation package compilation has passed.
Optionally, compiling the installation package, and when the compilation is passed, entering step S67; when the compilation fails, the process returns to step S61, and there is a possibility that the project package compilation will be in error and the project package will need to be recompiled.
In step S67, a new baseline is generated.
Optionally, when the compiling is passed, a new baseline configuration file is generated, and data is stored in a database.
Therefore, a client intermediate product is formed through versioning management, client compiling efficiency is improved, and construction cost is reduced.
Fig. 7 is a flowchart of dividing a multi-quadrant baseline configuration file according to an embodiment of the present application, and as shown in fig. 7 in conjunction with the installation package compiling method shown in fig. 6, the flowchart may include the following steps S71 to S75:
and step S71, packaging the engineering package to obtain basic baseline configuration.
Optionally, a certain version of the engineering package is compiled and packaged to obtain the baseline configuration to be divided.
In step S72, it is determined whether the basic baseline configuration passes criterion 1.
Optionally, it may be determined whether the baseline configuration to be divided passes through the determination criterion 1, and if the baseline configuration to be divided passes through the determination criterion 1, the step S73 is performed; if the standard 1 is not passed, the flow proceeds to step S71, and the project package is repackaged.
In step S73, baseline configuration 1 is obtained.
Optionally, if the criterion 1 is passed, it is determined that the baseline configuration to be divided is baseline configuration 1.
In step S74, it is determined whether the baseline configuration 1 passes the criterion 2.
Optionally, it may be further determined whether the baseline configuration to be divided passes the determination criterion 2, and if the baseline configuration to be divided passes the determination criterion 2, the step S75 is performed; if the standard 1 is not passed, the flow proceeds to step S71, and the project package is repackaged.
Step S75, baseline configuration 2 is obtained.
Optionally, if the criterion 2 is passed, the baseline to be divided is determined to be the baseline configuration 2.
Through the scheme, the device can be divided into a plurality of layers according to actual conditions, the device can be regarded as a release version through the configuration of the final judgment standard, and the device can be regarded as an internal test or gray test version through the configuration of the first judgment standards. Through the preferred embodiment, a certain edition of a certain project package can be restrained when being upgraded between two quadrants by combining the test method of the installation package, and the overall quality is improved.
Fig. 8 is a flowchart of generating an installation package using an inherited baseline according to an embodiment of the present application, and as shown in fig. 8, when installation packages of multiple version numbers are developed in parallel, the flowchart may include the following steps S81 to S84:
step S81, the baseline inherits.
And step S82, modifying part of the project package.
Step S83, the installation package is compiled.
At step S84, a new baseline is generated.
Optionally, when the installation packages with multiple version numbers are developed in parallel, the installation packages can be compiled to generate a new baseline through inheritance of baseline configuration and partial engineering package modification. By the scheme provided by the embodiment, when clients with a plurality of version numbers are developed in parallel, the version used by the project package without modification can be acquired through inheritance and update of the baseline configuration, and is used as an initial baseline configuration of the current release, and the final installation package is combined with the modified project package.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method of the embodiments of the present application.
Example 3
According to an embodiment of the present invention, there is also provided an apparatus for generating an installation package of an application, the apparatus being configured to implement the method for generating an installation package of an application, as shown in fig. 9, and the apparatus includes: a display module 91, a determination module 93 and a receiving module 95.
The display module 91 is configured to display a plurality of engineering packages corresponding to one application, where any one of the engineering packages is obtained by compiling one program module of the application; the determining module 93 is configured to determine one or more project packages selected from the displayed plurality of project packages; the receiving module 95 is configured to receive a command, where the command is used to instruct to generate an installation package corresponding to the application according to the selected one or more engineering packages.
Specifically, in the display module 91, the program module may be a source code for implementing a specific function or a specific function in an application, and for an application, the source code of the application may be divided according to the function to obtain a plurality of program modules, for example, in an instant messaging software, the program modules may be divided according to the function into the following modules: data encryption function, communication protocol processing function, position display function, text interaction function, picture processing function, address list management function and the like. The source code of the application may also be divided according to different functions to obtain a plurality of program modules, for example, a rights management function, a communication function, a data storage function, and the like. The user can select according to actual needs, and how to divide the program modules does not influence the achievement of the technical effect of the application.
Optionally, when compiling and packaging one or more modules of the application installation package, there may be many ways, for example, maven and gradle may be used to compile android, and for example, coco codes may be used to compile ios. The compiling method has various compiling methods on different operating systems, and any compiling method can solve the problems to be solved by the application and obtain corresponding technical effects, so how to specifically execute various compiling methods is not described herein again.
Optionally, the engineering package may be obtained by compiling an application program module, the installation package may be generated by compiling the selected engineering package, the compiling of the engineering package and the compiling of the installation package may be two different compiling commands, or may be the same compiling command, for example, in Gcc, the compiling commands are Gcc-parameters, and the corresponding "parameters" for the compiling of the engineering package and the compiling of the installation package are different. In other compilation environments, different editing commands may be used depending on the actual needs.
It should be noted here that, the application program is divided into a plurality of program modules according to functions, and some undeveloped functions can be shielded, for example, if only the position display function, the text interaction function, and the communication protocol processing function are completed, at this time, the three functions may be compiled to generate an installation package, and then the functions may be tested. The compiling mode can also reduce errors generated when incomplete or immature codes are compiled, and can also improve the compiling efficiency.
It should be noted here that the above steps involve compiling and generating, which may be two different compiling commands, or may be the same compiling command, for example, in Gcc, the commands for compiling are Gcc-parameters, and the first compiling and the second compiling are different corresponding to "parameters". In other compilation environments, different editing commands may be used depending on the actual needs.
It should be further noted that the display module 91, the determination module 93 and the receiving module 95 correspond to steps S202 to S206 in the second embodiment, and the three modules are the same as the corresponding steps in the implementation example and application scenario, but are not limited to the disclosure in the first embodiment. It should be noted that the modules described above as part of the apparatus may be run in the computer terminal 10 provided in the first embodiment.
As can be seen from the above, in the solution disclosed in the third embodiment of the present application, the display module displays the plurality of engineering packages corresponding to one application, the determination module determines one or more engineering packages selected from the displayed plurality of engineering packages, and the receiving module receives the command, so as to generate the installation package of the application.
It is easy to note that since the source codes of a plurality of program modules of an application are compiled respectively according to the compiling command to obtain the engineering package corresponding to each module, a modular compiling mode is adopted instead of a compiling mode of a complete compression package, so that the modules to be compiled are selected, and the compiling of all the source codes is not required. Therefore, the scheme provided by the embodiment is particularly suitable for the construction process management of the installation package with multiple modules and a large number of codes, and can achieve the effects of improving the client compiling efficiency, reducing the construction cost and controlling the product quality.
Therefore, the third embodiment of the present application solves the technical problem of low compiling efficiency of the installation package in the related art.
Example 4
According to an embodiment of the present invention, there is also provided an apparatus for generating an installation package of an application, the apparatus being configured to implement the method for generating an installation package of an application, as shown in fig. 10, and the apparatus includes: a compiling module 101, a receiving module 103 and a generating module 105.
The compiling module 101 is configured to compile source codes of a plurality of program modules of an application respectively according to a compiling command to obtain an engineering package corresponding to each module; the receiving module 103 is configured to receive one or more engineering packages selected from the engineering packages corresponding to each program module; the generating module 105 is configured to generate an installation package corresponding to the application according to the selected one or more engineering packages.
Specifically, in the compiling module 101, the program module may be a source code for implementing a specific function or a specific function in an application, and for an application, the source code of the application may be divided according to the function to obtain a plurality of program modules, for example, in an instant messaging software, the program modules may be divided into the following modules: data encryption function, communication protocol processing function, position display function, text interaction function, picture processing function, address list management function and the like. The source code of the application may also be divided according to different functions to obtain a plurality of program modules, for example, a rights management function, a communication function, a data storage function, and the like. The user can select according to actual needs, and how to divide the program modules does not influence the achievement of the technical effect of the application.
Optionally, when compiling and packaging one or more modules of the application installation package, there may be many ways, for example, maven and gradle may be used to compile android, and for example, coco codes may be used to compile ios. The compiling method has various compiling methods on different operating systems, and any compiling method can solve the problems to be solved by the application and obtain corresponding technical effects, so how to specifically execute various compiling methods is not described herein again.
Optionally, the engineering package may be obtained by compiling an application program module, the installation package may be generated by compiling the selected engineering package, the compiling of the engineering package and the compiling of the installation package may be two different compiling commands, or may be the same compiling command, for example, in Gcc, the compiling commands are Gcc-parameters, and the corresponding "parameters" for the compiling of the engineering package and the compiling of the installation package are different. In other compilation environments, different editing commands may be used depending on the actual needs.
It should be noted here that, the application program is divided into a plurality of program modules according to functions, and some undeveloped functions can be shielded, for example, if only the position display function, the text interaction function, and the communication protocol processing function are completed, at this time, the three functions may be compiled to generate an installation package, and then the functions may be tested. The compiling mode can also reduce errors generated when incomplete or immature codes are compiled, and can also improve the compiling efficiency.
It should be further noted that the compiling module 101, the receiving module 103 and the generating module 105 correspond to steps S302 to S306 in the second embodiment, and the three modules are the same as the corresponding steps in the implementation example and application scenario, but are not limited to the disclosure in the second embodiment. It should be noted that the modules described above as part of the apparatus may be run in the computer terminal 10 provided in the first embodiment.
As can be seen from the above, in the solution disclosed in the fourth embodiment of the present application, the compiling module is used to compile the source codes of the plurality of program modules of an application according to the compiling command to obtain the engineering package corresponding to each module, the receiving module is used to receive one or more engineering packages selected from the engineering packages corresponding to each program module, and the generating module is used to generate the installation package corresponding to the application according to the one or more selected engineering packages, so as to generate the installation package of the application.
It is easy to note that since the source codes of a plurality of program modules of an application are compiled respectively according to the compiling command to obtain the engineering package corresponding to each module, a modular compiling mode is adopted instead of a compiling mode of a complete compression package, so that the modules to be compiled are selected, and the compiling of all the source codes is not required. Therefore, the scheme provided by the embodiment is particularly suitable for the construction process management of the installation package with multiple modules and a large number of codes, and can achieve the effects of improving the client compiling efficiency, reducing the construction cost and controlling the product quality.
Therefore, the fourth embodiment of the present application solves the technical problem of low compiling efficiency of the installation package in the related art.
Example 5
The embodiment of the application can provide a computer terminal, and the computer terminal can be any one computer terminal device in a computer terminal group. Optionally, in this embodiment, the computer terminal may also be replaced with a terminal device such as a mobile terminal.
Optionally, in this embodiment, the computer terminal may be located in at least one network device of a plurality of network devices of a computer network.
In this embodiment, the computer terminal may execute program codes of the following steps in the method for generating the installation package of the application: displaying a plurality of engineering packages corresponding to one application, wherein any one of the engineering packages is obtained by compiling one program module of the application; determining one or more project packages selected from the displayed plurality of project packages; and receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages.
Alternatively, fig. 11 is a block diagram of a computer terminal according to an embodiment of the present invention. As shown in fig. 11, the computer terminal a may include: one or more processors 111 (only one shown), a memory 113, and a transmission device 115.
The memory may be configured to store software programs and modules, such as program instructions/modules corresponding to the method and apparatus for generating an installation package of an application in the embodiment of the present invention, and the processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, implements the method for generating an installation package of an application. The memory may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory may further include memory remotely located from the processor, and these remote memories may be connected to terminal a through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The processor can call the information and application program stored in the memory through the transmission device to execute the following steps: displaying a plurality of engineering packages corresponding to one application, wherein any one of the engineering packages is obtained by compiling one program module of the application; determining one or more project packages selected from the displayed plurality of project packages; and receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages.
Optionally, the processor may further execute the program code of the following steps: displaying identification information of a plurality of program modules corresponding to one application, wherein the identification information can be operated by a user; responding to the operation of a user on the identification information of the preset program module, and displaying one or more project packages corresponding to the preset program module, wherein the one or more project packages are identified by using the attribute information of the project packages, and the attribute information comprises at least one of the following: version number of the engineering package, timestamp.
Optionally, the processor may further execute the program code of the following steps: after determining one or more selected engineering packages from the displayed plurality of engineering packages, displaying prompt information, wherein the prompt information is used for prompting a user whether to save the information of the plurality of engineering packages selected at this time; and giving identification information to the information of the selected engineering packages and storing the information in response to the storing operation executed by the user.
Optionally, the processor may further execute the program code of the following steps: displaying the saved one or more identification information, wherein at least one of the one or more identification information can be operated by a user; and responding to the operation of the user on the preset identification information in the one or more pieces of identification information, and displaying the information of the plurality of engineering packages corresponding to the identification information.
Optionally, the processor may further execute the program code of the following steps: displaying information for operating any one of a plurality of project packages corresponding to the identification information; responding to information of a user for operating a preset project package in a plurality of project packages corresponding to the identification information, and operating the preset project package, wherein the operation comprises at least one of the following steps: and (4) deleting and replacing.
Optionally, the processor may further execute the program code of the following steps: displaying an addition indication; and responding to the operation of the user on the adding instruction, and adding the engineering package into the plurality of engineering packages corresponding to the identification information.
Optionally, the processor may further execute the program code of the following steps: after a predetermined project package is operated, new identification information is given to information of a plurality of project packages after the operation and stored.
By adopting the method and the device, the plurality of engineering packages corresponding to one application are displayed, one or more engineering packages selected from the displayed plurality of engineering packages are determined, and the command is received, so that the generation of the installation package of the application is realized.
It is easy to note that since the source codes of a plurality of program modules of an application are compiled respectively according to the compiling command to obtain the engineering package corresponding to each module, a modular compiling mode is adopted instead of a compiling mode of a complete compression package, so that the modules to be compiled are selected, and the compiling of all the source codes is not required. Therefore, the scheme provided by the embodiment is particularly suitable for the construction process management of the installation package with multiple modules and a large number of codes, and can achieve the effects of improving the client compiling efficiency, reducing the construction cost and controlling the product quality.
Therefore, the technical problem that the compiling efficiency of the installation package in the related technology is low is solved by the scheme of the embodiment provided by the application.
It can be understood by those skilled in the art that the structure shown in fig. 11 is only an illustration, and the computer terminal may also be a terminal device such as a smart phone (e.g., an Android phone, an iOS phone, etc.), a tablet computer, a palmtop computer, a Mobile Internet Device (MID), a PAD, and the like. Fig. 11 is a diagram illustrating a structure of the electronic device. For example, the computer terminal a may also include more or fewer components (e.g., network interfaces, display devices, etc.) than shown in fig. 11, or have a different configuration than shown in fig. 11.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by a program instructing hardware associated with the terminal device, where the program may be stored in a computer-readable storage medium, and the storage medium may include: flash disks, Read-Only memories (ROMs), Random Access Memories (RAMs), magnetic or optical disks, and the like.
Example 6
Embodiments of the present application also provide a storage medium. Optionally, in this embodiment, the storage medium may be configured to store program codes executed by the method provided in the first embodiment.
Optionally, in this embodiment, the storage medium may be located in any one of computer terminals in a computer terminal group in a computer network, or in any one of mobile terminals in a mobile terminal group.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: displaying a plurality of engineering packages corresponding to one application, wherein any one of the engineering packages is obtained by compiling one program module of the application; determining one or more project packages selected from the displayed plurality of project packages; and receiving a command, wherein the command is used for indicating that the installation package corresponding to the application is generated according to the selected one or more engineering packages.
Optionally, the storage medium is further arranged to store program code for performing the steps of: displaying identification information of a plurality of program modules corresponding to one application, wherein the identification information can be operated by a user; responding to the operation of a user on the identification information of the preset program module, and displaying one or more project packages corresponding to the preset program module, wherein the one or more project packages are identified by using the attribute information of the project packages, and the attribute information comprises at least one of the following: version number of the engineering package, timestamp.
Optionally, the storage medium is further arranged to store program code for performing the steps of: after determining one or more selected engineering packages from the displayed plurality of engineering packages, displaying prompt information, wherein the prompt information is used for prompting a user whether to save the information of the plurality of engineering packages selected at this time; and giving identification information to the information of the selected engineering packages and storing the information in response to the storing operation executed by the user.
Optionally, the storage medium is further arranged to store program code for performing the steps of: displaying the saved one or more identification information, wherein at least one of the one or more identification information can be operated by a user; and responding to the operation of the user on the preset identification information in the one or more pieces of identification information, and displaying the information of the plurality of engineering packages corresponding to the identification information.
Optionally, the storage medium is further arranged to store program code for performing the steps of: displaying information for operating any one of a plurality of project packages corresponding to the identification information; responding to information of a user for operating a preset project package in a plurality of project packages corresponding to the identification information, and operating the preset project package, wherein the operation comprises at least one of the following steps: and (4) deleting and replacing.
Optionally, the storage medium is further arranged to store program code for performing the steps of: displaying an addition indication; and responding to the operation of the user on the adding instruction, and adding the engineering package into the plurality of engineering packages corresponding to the identification information.
Optionally, the storage medium is further arranged to store program code for performing the steps of: after a predetermined project package is operated, new identification information is given to information of a plurality of project packages after the operation and stored.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present application, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present application and it should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.

Claims (15)

1. A method of generation of an installation package, comprising:
displaying a plurality of engineering packages corresponding to an application, wherein any one of the engineering packages is obtained by compiling a program module of the application, and the program module is obtained by dividing a source code of the application according to functions or different functions;
determining one or more project packages selected from the displayed plurality of project packages;
receiving a command, wherein the command is used for indicating that an installation package corresponding to the application is generated according to the selected one or more engineering packages;
wherein displaying the plurality of engineering packages corresponding to the application comprises:
displaying identification information of a plurality of program modules corresponding to the application, wherein the identification information can be operated by a user;
and responding to the operation of the user on the identification information of the preset program module, and displaying one or more project packages corresponding to the preset program module.
2. The method of claim 1, wherein after determining one or more project packages selected from the displayed plurality of project packages, the method further comprises:
displaying prompt information, wherein the prompt information is used for prompting a user whether to store the information of the plurality of project packages selected at this time;
and responding to the saving operation executed by the user, giving identification information to the information of the selected engineering packages and saving the information.
3. The method of claim 2, further comprising:
displaying the saved one or more identification information, wherein at least one of the one or more identification information can be operated by the user;
and responding to the operation of the user on preset identification information in the one or more pieces of identification information, and displaying the information of the plurality of engineering packages corresponding to the identification information.
4. The method of claim 3, wherein displaying information of a plurality of engineering packages corresponding to the identification information comprises:
displaying information for operating any one of the plurality of project packages corresponding to the identification information;
responding to information of the user for operating a preset project package in a plurality of project packages corresponding to the identification information, and operating the preset project package, wherein the operation comprises at least one of the following operations: and (4) deleting and replacing.
5. The method of claim 3, wherein displaying information of a plurality of engineering packages corresponding to the identification information comprises:
displaying an addition indication;
and responding to the operation of the user on the adding indication, and adding the engineering package into the plurality of engineering packages corresponding to the identification information.
6. The method of claim 4, wherein after operating on the predetermined engineering package, the method further comprises:
and giving new identification information to the information of the plurality of engineering packages after the operation and storing the information.
7. A method for generating an installation package of an application, comprising:
compiling source codes of a plurality of program modules of an application respectively according to a compiling command to obtain an engineering package corresponding to each program module, wherein the program modules are obtained by dividing the source codes of the application according to functions or different functions;
receiving one or more engineering packages selected from the engineering packages corresponding to each program module;
and generating an installation package corresponding to the application according to the selected one or more engineering packages.
8. The method of claim 7, wherein after obtaining the engineering package corresponding to each program module, the method further comprises:
setting identification information for the engineering package corresponding to each program module, wherein the source codes of different versions of each program module respectively correspond to one engineering package;
and setting the attribute information of the engineering package for each engineering package.
9. The method of claim 8, wherein receiving the selected one or more engineering packages comprises:
receiving the selected program module;
and respectively selecting a required engineering package from one or more engineering packages corresponding to the selected program module according to the attribute information of the engineering package.
10. The method of claim 9, wherein after selecting the required engineering package, the method further comprises:
combining the identification information of all the required engineering packages and the attribute information of all the required engineering packages;
and storing the information obtained after combination as the configuration information of the installation package.
11. The method of claim 10, wherein after generating the installation package corresponding to the application, the method further comprises:
under the condition that a new installation package of the application is generated again, one or more engineering packages corresponding to the new installation package are obtained, wherein the new installation package is generated according to the one or more engineering packages;
acquiring the configuration information stored before;
and generating and storing new configuration information under the condition that the identification information and/or the attribute information of one or more engineering packages corresponding to the new installation package is judged to be changed compared with the previously stored configuration information.
12. The method of claim 11, wherein after generating the new configuration information, the method further comprises:
and comparing the new configuration information with the previously stored configuration information to obtain a difference, and storing the difference information.
13. The method according to any one of claims 8 to 12, wherein the attribute information further comprises: the function completion degree is used for representing the degree of the expected effect of the function corresponding to the engineering package;
the method further comprises the following steps: and determining the maturity of the compiled installation package according to the function completion of the one or more selected engineering packages, wherein the maturity is used for indicating the degree of the function of the installation package reaching the expected effect.
14. An apparatus for generation of an installation package, comprising:
the system comprises a display module, a processing module and a display module, wherein the display module is used for displaying a plurality of engineering packages corresponding to an application, any one of the engineering packages is obtained by compiling a program module of the application, and the program module is obtained by dividing a source code of the application according to functions or different functions;
a determination module for determining one or more selected from the displayed plurality of engineering packages;
a receiving module, configured to receive a command, where the command is used to instruct to generate an installation package corresponding to the application according to the selected one or more engineering packages;
the display module is further configured to display identification information of the plurality of program modules corresponding to the application, where the identification information can be operated by a user, and in response to the operation of the user on the identification information of a predetermined program module, display one or more project packages corresponding to the predetermined program module.
15. An apparatus for generating an installation package of an application, comprising:
the compiling module is used for compiling the source codes of a plurality of program modules of one application respectively according to the compiling command to obtain an engineering package corresponding to each program module, wherein the program modules are obtained by dividing the source codes of the application according to functions or different functions;
the receiving module is used for receiving one or more engineering packages selected from the engineering packages corresponding to each program module;
and the generating module is used for generating the installation package corresponding to the application according to the selected one or more engineering packages.
CN201610547996.7A 2016-07-12 2016-07-12 Method and device for generating installation package of application Active CN107632827B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610547996.7A CN107632827B (en) 2016-07-12 2016-07-12 Method and device for generating installation package of application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610547996.7A CN107632827B (en) 2016-07-12 2016-07-12 Method and device for generating installation package of application

Publications (2)

Publication Number Publication Date
CN107632827A CN107632827A (en) 2018-01-26
CN107632827B true CN107632827B (en) 2021-07-27

Family

ID=61112421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610547996.7A Active CN107632827B (en) 2016-07-12 2016-07-12 Method and device for generating installation package of application

Country Status (1)

Country Link
CN (1) CN107632827B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897549A (en) * 2018-05-15 2018-11-27 智车优行科技(北京)有限公司 Generation method, device, vehicle, electronic equipment and the medium of file
CN109491705B (en) * 2018-11-16 2022-02-18 中国银行股份有限公司 Delivery method and device
CN109471630B (en) * 2018-11-16 2021-11-16 广州虎牙科技有限公司 Application processing method and device
CN110096280A (en) * 2019-03-18 2019-08-06 中国平安人寿保险股份有限公司 Creation method, device, computer installation and the storage medium of code engineering
CN110795078B (en) * 2019-09-28 2023-11-21 同程网络科技股份有限公司 Architecture method of APP engineering operation system based on IOS system
CN111045694A (en) * 2019-12-05 2020-04-21 浩云科技股份有限公司 Streaming media service installation method and device
CN111930387B (en) * 2020-09-25 2021-01-12 蘑菇车联信息科技有限公司 Integration method and device of integration package, electronic equipment and storage medium
CN116032510A (en) * 2021-10-27 2023-04-28 北京字节跳动网络技术有限公司 Data security protection system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308458A (en) * 2008-06-30 2008-11-19 华为技术有限公司 Method and device for software customized development
US8312447B2 (en) * 2008-09-25 2012-11-13 Microsoft Corporation Managing updates using compiler and linker information
CN104298533A (en) * 2014-11-06 2015-01-21 北京奇虎科技有限公司 Method, device and equipment for customizing software installation package
CN104572237A (en) * 2015-01-19 2015-04-29 上海动联信息技术股份有限公司 Automatic quick generation system and method for UKey installation package

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308458A (en) * 2008-06-30 2008-11-19 华为技术有限公司 Method and device for software customized development
US8312447B2 (en) * 2008-09-25 2012-11-13 Microsoft Corporation Managing updates using compiler and linker information
CN104298533A (en) * 2014-11-06 2015-01-21 北京奇虎科技有限公司 Method, device and equipment for customizing software installation package
CN104572237A (en) * 2015-01-19 2015-04-29 上海动联信息技术股份有限公司 Automatic quick generation system and method for UKey installation package

Also Published As

Publication number Publication date
CN107632827A (en) 2018-01-26

Similar Documents

Publication Publication Date Title
CN107632827B (en) Method and device for generating installation package of application
CN108958714B (en) Business component type development method and device, computer equipment and storage medium
US10481884B2 (en) Systems and methods for dynamically replacing code objects for code pushdown
CN109670951B (en) Block chain intelligent contract debugging and publishing method and system
US20220179642A1 (en) Software code change method and apparatus
CN108920370B (en) Compatibility problem detection method, device and equipment
CN111309734B (en) Method and system for automatically generating table data
CN109542461A (en) Dissemination method, terminal device and the medium of application installation package
CN111399840B (en) Module development method and device
CN108958843A (en) Plug-in unit construction method, system, equipment and medium based on lightweight script
CN108536451A (en) Application program buries a method for implanting and device
CN104408118A (en) Database establishing method and device
CN111124872A (en) Branch detection method and device based on difference code analysis and storage medium
CN111104158A (en) Software packaging method and device, computer equipment and storage medium
CN109840074B (en) Service generation method, device and network equipment
CN113268243A (en) Memory prediction method and device, storage medium and electronic equipment
CN114356787B (en) Automatic testing method and device for deep learning model compiler and storage medium
CN112597023A (en) Case management method and device based on guide picture, computer equipment and storage medium
CN113609823B (en) Method and device for editing questionnaire logic, terminal equipment and storage medium
CN114168122A (en) Data script generation method and device
CN114201174A (en) Construction method and device of hybrid mobile application, electronic equipment and storage medium
CN114546410A (en) Code optimization method based on design mode and related equipment
CN112631894A (en) Code detection method, device, storage medium and computer equipment
CN112182115A (en) Relationship display method and device, storage medium and electronic device
CN112612474A (en) Product transplanting method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant