CN110806935A - Application program construction method, device and system - Google Patents

Application program construction method, device and system Download PDF

Info

Publication number
CN110806935A
CN110806935A CN201810885139.7A CN201810885139A CN110806935A CN 110806935 A CN110806935 A CN 110806935A CN 201810885139 A CN201810885139 A CN 201810885139A CN 110806935 A CN110806935 A CN 110806935A
Authority
CN
China
Prior art keywords
application program
user terminal
target application
file
directory file
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.)
Granted
Application number
CN201810885139.7A
Other languages
Chinese (zh)
Other versions
CN110806935B (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 CN201810885139.7A priority Critical patent/CN110806935B/en
Publication of CN110806935A publication Critical patent/CN110806935A/en
Application granted granted Critical
Publication of CN110806935B publication Critical patent/CN110806935B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

The embodiment of the invention provides an application program construction method, a device and a system, wherein the method comprises the following steps: if the load of the construction server reaches a preset condition, screening out user terminals matched with the target application program from the registered user terminal set; sending a construction instruction comprising a code base address and a code version number to a user terminal so that the user terminal downloads a first project directory file; and sending the second project directory file received from the user terminal and a second description file corresponding to the target application program to a construction server so that the construction server performs re-signature processing on the second project directory file according to the second description file, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a locally stored first description file matched with the target application program by the user terminal. The construction of the iOS application program is assisted by expanding the user terminal of the individual user, and the load pressure of the construction server is shared.

Description

Application program construction method, device and system
Technical Field
The invention relates to the technical field of internet, in particular to a method, a device and a system for constructing an application program.
Background
iOS is a handheld device operating system developed by apple inc. With the popularization of apple handheld devices (iphones and ipads), the number of applications based on the iOS is increasing, and personal users and enterprise users can build required iOS application programs (apps) based on the needs of the users.
For an enterprise that has a need to build iOS applications that provide certain functions and distribute the built iOS applications to certain users (perhaps certain employees, or perhaps a wide array of arbitrary users), the enterprise may provide one or more build servers dedicated to the developers to build the iOS applications.
Generally, building the iOS application program usually involves downloading a code of a required version number from a code library, compiling, signing, packaging, installing a package, issuing and other processes, and these processes occupy more processing resources of a building server. When there are more iOS applications that need to be built, the build server will be more stressed.
Disclosure of Invention
In view of this, embodiments of the present invention provide an application program building method, apparatus, and system, so as to reduce the pressure of building a server.
In a first aspect, an embodiment of the present invention provides an application program building method, which is applied to a management platform, and the method includes:
responding to a construction request of a user for a target application program, and if the load of a construction server reaches a preset condition, screening out user terminals matched with the target application program from a registered user terminal set;
sending a construction instruction to the user terminal, wherein the construction instruction comprises a code base address and a code version number of the target application program, so that the user terminal downloads a first project directory file corresponding to the code version number from the code base address;
receiving a second project directory file sent by the user terminal, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a first description file which is locally stored and matched with the target application program by the user terminal;
and sending the second project directory file and a second description file corresponding to the target application program to a construction server, so that the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
In a second aspect, an embodiment of the present invention provides an application building apparatus, applied to a management platform, including:
the user terminal selection module is used for responding to a construction request of a user for a target application program, and screening user terminals matched with the target application program from a registered user terminal set if the load of a construction server reaches a preset condition;
a sending module, configured to send a building instruction to the user terminal, where the building instruction includes a code library address and a code version number of the target application program, so that the user terminal downloads a first project directory file corresponding to the code version number from the code library address;
the receiving module is used for receiving a second project directory file sent by the user terminal, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a first description file which is locally stored and matched with the target application program by the user terminal;
the sending module is further configured to send the second project directory file and a second description file corresponding to the target application program to a build server, so that the build server performs re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
In a third aspect, an embodiment of the present invention provides a management platform, including a first processor and a first memory, where the first memory is used to store one or more computer instructions, and when executed by the first processor, the one or more computer instructions implement the application building method in the first aspect. The management platform may also include a first communication interface for communicating with other devices or a communication network.
An embodiment of the present invention provides a computer storage medium, configured to store a computer program, where the computer program enables a computer to implement the application program constructing method in the first aspect when executed.
In a fourth aspect, an embodiment of the present invention provides an application program constructing method, applied to a user terminal, where the method includes:
receiving a construction instruction sent by a management platform, wherein the construction instruction comprises a code base address and a code version number of a target application program, and the user terminal is a user terminal which is screened by the management platform from a registered user terminal set and is matched with the target application program;
downloading a first project directory file corresponding to the code version number from the code base address;
determining a first description file matched with the first project directory file from a locally stored description file set;
compiling and signing the first engineering directory file according to the first description file to obtain a second engineering directory file;
and sending the second project directory file to the management platform, so that the management platform sends the second project directory file and a second description file corresponding to the target application program to a construction server, and the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
In a fifth aspect, an embodiment of the present invention provides an application building apparatus, applied to a user terminal, including:
the system comprises a receiving module, a judging module and a judging module, wherein the receiving module is used for receiving a construction instruction sent by a management platform, the construction instruction comprises a code base address and a code version number of a target application program, and the user terminal is a user terminal which is screened by the management platform from a registered user terminal set and is matched with the target application program;
the downloading module is used for downloading a first project directory file corresponding to the code version number from the code base address;
the description file determining module is used for determining a first description file matched with the first project directory file from a locally stored description file set;
the compiling processing module is used for compiling and signing the first engineering directory file according to the first description file to obtain a second engineering directory file;
and the sending module is used for sending the second project directory file to the management platform so that the management platform sends the second project directory file and a second description file corresponding to the target application program to a construction server to enable the construction server to perform re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
In a sixth aspect, an embodiment of the present invention provides a user terminal, including a second processor and a second memory, where the second memory is used to store one or more computer instructions, and when the one or more computer instructions are executed by the second processor, the application building method in the fourth aspect is implemented. The user terminal may further comprise a second communication interface for communicating with other devices or a communication network.
An embodiment of the present invention provides a computer storage medium, configured to store a computer program, where the computer program enables a computer to implement the application program constructing method in the fourth aspect when executed.
In a seventh aspect, an embodiment of the present invention provides an application program constructing method, which is applied to a construction server, and the method includes:
receiving a first project directory file and a first description file corresponding to a target application program, wherein the first project directory file is obtained by compiling and signing a second project directory file of the target application program downloaded from a code base by a user terminal by using a locally stored second description file matched with the target application program;
and re-signing the first project directory file according to the first description file to obtain an installation package of the target application program.
In an eighth aspect, an embodiment of the present invention provides an application building apparatus, which is applied to a building server, and includes:
the system comprises a receiving module, a management platform and a processing module, wherein the receiving module is used for receiving a first project directory file and a first description file corresponding to a target application program, which are sent by the management platform, and the first project directory file is obtained by compiling and signing a second project directory file of the target application program downloaded from a code library by a user terminal by using a locally stored second description file matched with the target application program;
and the signature processing module is used for re-signing the first project directory file according to the first description file to obtain the installation package of the target application program.
In a ninth aspect, an embodiment of the present invention provides a build server, including a third processor and a third memory, where the third memory is used to store one or more computer instructions, and when the one or more computer instructions are executed by the third processor, the method for building an application program in the seventh aspect is implemented. The build server may also include a third communication interface for communicating with other devices or a communication network.
An embodiment of the present invention provides a computer storage medium, configured to store a computer program, where the computer program enables a computer to implement the application program constructing method in the seventh aspect when executed.
In a tenth aspect, an embodiment of the present invention provides an application building system, including:
the system comprises a user terminal, a management platform and a construction server;
the management platform is used for responding to a construction request of a user for a target application program, screening the user terminal matched with the target application program from a registered user terminal set if the load of the construction server is determined to reach a preset condition, and sending a construction instruction to the user terminal, wherein the construction instruction comprises a code base address and a code version number of the target application program; receiving a second project directory file sent by the user terminal, and sending the second project directory file and a second description file corresponding to the target application program to the construction server;
the user terminal is used for downloading a first project directory file corresponding to the code version number from the code base address, determining a first description file matched with the first project directory file from a locally stored description file set, compiling and signing the first project directory file according to the first description file to obtain a second project directory file, and sending the second project directory file to the management platform;
and the construction server is used for carrying out re-signing processing on the second project directory file according to the second description file so as to obtain the installation package of the target application program.
According to the application program construction method provided by the embodiment of the invention, when a certain user such as a research and development staff triggers a construction request called a target application program for a certain iOS application program on a management platform, if the management platform judges that the load of a construction server reaches a preset condition, namely the load pressure is large, a matched user terminal can be screened from a user terminal set of a registered individual user at the moment, and a construction instruction is issued to the matched user terminal, so that the construction of the target application program is assisted through the user terminal. Specifically, after a user terminal downloads a first project directory file corresponding to a target application program, the first project directory file is compiled and signed based on a locally stored first description file matched with the target application program to obtain a second project directory file, the second project directory file is an intermediate product, the user terminal sends the second project directory file to a management platform, the management platform sends the second project directory file and a second description file corresponding to the target application program to a construction server, and the second description file is a description file applied from an iOS provider to construct the target application program. And the construction server carries out re-signing processing on the second project directory file according to the second description file so as to obtain the installation package of the target application program.
Therefore, the construction of the iOS application program is assisted by expanding the user terminal of the individual user, specifically, the code compiling and signing processes of the iOS application program are completed through the user terminal, so that the construction of the iOS application program can be completed by the construction server only by performing one-time re-signing processing on the processing result of the user terminal based on the description file corresponding to the iOS application program, and the load pressure of the construction server is shared.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Fig. 1 is a schematic composition diagram of an application building system according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of another application building system according to an embodiment of the present invention;
FIG. 3 is a flowchart of an application building method according to an embodiment of the present invention;
FIG. 4 is a flowchart of another application building method according to an embodiment of the present invention;
FIG. 5 is a flowchart of another method for constructing an application according to an embodiment of the present invention;
FIG. 6 is an interaction flowchart of a method for constructing an application according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an application building apparatus according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a management platform corresponding to the application building apparatus provided in the embodiment shown in fig. 7;
FIG. 9 is a schematic structural diagram of another application building apparatus according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of a user terminal corresponding to the application building apparatus provided in the embodiment shown in fig. 9;
FIG. 11 is a schematic structural diagram of another application building apparatus according to an embodiment of the present invention;
fig. 12 is a schematic structural diagram of a build server corresponding to the application build device provided in the embodiment shown in fig. 11.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. 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 invention.
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the examples of the present invention and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, and "a" and "an" generally include at least two, but do not exclude at least one, unless the context clearly dictates otherwise.
It should be understood that the term "and/or" as used herein is merely one type of association that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It is also noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a good or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such good or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a commodity or system that includes the element.
In addition, the sequence of steps in each method embodiment described below is only an example and is not strictly limited.
Fig. 1 is a schematic diagram of an application building system according to an embodiment of the present invention, which is used to build a target application mentioned below, where the target application is an iOS application that provides a certain function. As shown in fig. 1, the application building system may include: the system comprises a user terminal, a management platform and a construction server.
In the process of constructing the target application program, the functions of all the components in the system are represented as follows:
the management platform is used for responding to a construction request of a user for a target application program, screening user terminals matched with the target application program from a registered user terminal set if the load of a construction server is determined to reach a preset condition, and sending a construction instruction to the user terminals, wherein the construction instruction comprises a code base address and a code version number of the target application program; and receiving a second project directory file sent by the user terminal, and sending the second project directory file and a second description file corresponding to the target application program to the construction server.
The user terminal is used for downloading a first project directory file corresponding to the code version number from the code base address, determining a first description file matched with the first project directory file from a locally stored description file set, compiling and signing the first project directory file according to the first description file to obtain a second project directory file, and sending the second project directory file to the management platform.
And the construction server is used for carrying out re-signing processing on the second project directory file according to the second description file so as to obtain the installation package of the target application program.
Before specifically describing the above process of constructing the target application, a core idea of constructing any iOS application in the embodiment of the present invention is summarized as follows: the user terminal of an individual user is used as a supplement to the build server to assist in the building of the iOS application. Specifically, two key steps are involved in the construction process of the iOS application: compiling and signing can be completed on the user terminal side, so that the server side is constructed only by executing a simple signing process. Considering the general requirements of the construction of the iOS application at present, a signature process needs to be executed once in the compiling process, so that a compiling and signature process needs to be completed at the user terminal side, and the signature process of the construction server side is only required to be embodied as a re-signature process of the compiling and signature result at the user terminal side.
Based on this core idea, it is first necessary to extend a user terminal of an individual user as a building terminal of an iOS application. For example, a user terminal of a certain enterprise, such as a PC, a notebook computer, or a personal PC, a notebook computer of an employee, or other users provided by the enterprise to the employee, may register as a terminal for constructing the iOS application for the enterprise. A specific process of registering each user terminal to the management platform corresponding to the enterprise will be specifically described in the following embodiments, and only one point is described here, and the user terminal registered in the management platform needs to be a user terminal that is installed with an iOS application development tool, such as an xode, and has a description file. Generally, if a user terminal has one or more description files therein, it is indicated that the user terminal is likely to have been previously used to perform the construction of one or more iOS applications, because the description files are generally obtained from the iOS provider application at the time of the initial construction of the iOS application.
The description file will be briefly introduced below. It is known that an iOS certificate and a description file are necessary for constructing an iOS application, that is, when an iOS application is to be constructed, the iOS certificate and the description file are first applied to an iOS provider. The iOS certificate is a digital certificate used for proving the legality and content integrity of the iOS application program, and for the iOS application program which is installed on a real machine or issued to an application store, the source can be ensured to be credible only through signature verification of the iOS certificate, and the content of the iOS application program is ensured to be complete and not tampered. The description file generally contains information such as an iOS certificate, an identification (App ID) of the built iOS application, a certificate expiration date, which devices the built iOS application can be used by, which function items the built iOS application uses (the iOS provides some functions available to the iOS application), and the like. The description file packages the information together, which is convenient for use in debugging and publishing the application program, i.e. only different description files are selected for different iOS application programs, and the description files determine which certificate the Xcode uses to sign the iOS application program.
Therefore, for any user terminal with successful registration, at least one description file is stored therein, and each description file includes information such as an identifier of a corresponding application program, a digital certificate, that is, an iOS certificate, and the like.
In addition, in practical applications, for example, for a certain enterprise, it is often configured to set one or more build servers for building new iOS applications, and the management platform is configured to manage the build servers and also maintain relevant information of each iOS application to be built. It can be understood that, if it is desired to construct an iOS application, in addition to the above-mentioned requirement for obtaining the iOS certificate and description file corresponding to the iOS application, it is necessary to write a code, store the code into a code library, and set the relevant information of the iOS application on the management platform, where the relevant information may include, for example, an identifier (such as a name) of the iOS application, an Xcode version number corresponding to the iOS application, a code version number of the iOS application (because different versions of codes may be written in actual applications), an address of the code of the iOS application in the code library, a description file, and so on, which may be set on the management platform by a developer after writing the code.
Optionally, in order to facilitate the subsequent user to trigger the build operation on the iOS application set on the management platform, the management platform may provide a user access page, where the user access page may include the identifications of all iOS applications that have been set but have not yet been built, and the identification of each iOS application therein may be associated with the above related information, so that the user may trigger the build of the iOS application by selecting a certain iOS application therein. Based on this, in the embodiment of the present invention, it is assumed that a certain iOS application currently selected by the user is the target application, and the selection operation of the user is regarded as triggering a construction request for the target application.
Thus, in response to a build request of a user for a target application, the management platform first determines a load pressure condition of the build server at this time. When a plurality of building servers exist, for example, when the load pressure of each building server is greater than a certain threshold, the building servers are considered to be under greater pressure, and at this time, the management platform screens out the user terminal matched with the target application program from the user terminal set consisting of a plurality of user terminals which are already registered, so as to assist in building the target application program by using the user terminal. The load pressure of the build server can be measured by parameters such as CPU utilization, whether or not it is being used to build an application, and the number of applications being used to build, among others.
Optionally, the screening process may be implemented as: and screening out the user terminals of which the development tool version numbers are matched with the development tool version numbers of the target application programs and the code base access identity information is matched with the code operation authority of the target application programs from the registered user terminal set.
Wherein, the matching of the development tool version number with the development tool version number of the target application program may refer to: assuming that the version number of the Xcode used when developing the code of the target application is a, the version number of the Xcode installed in the screened user terminal should be higher than or equal to the version number a. The matching of the code library access identity information and the code operation authority of the target application program means that: the screened user terminal needs to have the right to operate the code of the target application, that is, the user terminal needs to have the right to build the target application. The registration information of the user terminal may include code library access identity information, and the code library access identity information may be represented by a user name required by the user terminal to access the code library, for example, and the management platform obtains the code library access identity information based on the registration information, so that optionally, the management platform may maintain a white list for accessing the target application program, where the white list includes code library access identity information of each user terminal having a code for accessing, i.e., operating, the target application program, and thus, the user terminal may be screened from the user terminals corresponding to the white list.
Optionally, when the management platform finds that there are a plurality of user terminals that meet the screening condition, that is, both the development tool version number and the code operation authority meet the requirement, it may randomly select one of the user terminals or prompt the user to select one of the user terminals by himself or select one of the user terminals in combination with other indexes such as the remaining storage space, the network bandwidth, and the like.
And when the management platform selects a certain user terminal, issuing a construction instruction for constructing the target application program to the user terminal, wherein the construction instruction comprises the code base address and the code version number of the target application program. In practical application, the target application program may correspond to a plurality of different versions of codes, and a user may select which version of codes needs to be used for the current construction, so that the management platform knows the version number of the codes based on the selection of the user.
And after receiving the building instruction, the user terminal downloads a first project directory file corresponding to the code version number from the code base address based on the code base address and the code version number. It can be understood that the first project directory file is an original project directory file corresponding to the code version number, and includes various information such as a code, a project file, a used picture, and music corresponding to the target application program.
In order to complete the construction of the target application program, after the user terminal downloads the first project directory file, the user terminal needs to locally complete the compiling and signing processing of the first project directory file, and the description file required by the compiling and signing processing needs to be selected from a locally stored description file set by the user terminal, that is, the user terminal determines the first description file matched with the first project directory file from the locally stored description file set. As mentioned above, the user terminal typically stores one or more description files, each of which may include information about the iOS certificate, an identifier (App ID) of the built iOS application, a certificate expiration date, which devices the built iOS application may be used by, which function items the built iOS application may use, and the like.
Therefore, optionally, the user terminal may obtain at least one service item used by the target application program from the first project directory file, and further determine, from the locally stored description file set, a description file containing the service item and the at least one service item which are most overlapped as the first description file.
For example, assuming that the service items used by the target application include A, B and C, and assuming that the description file set of the user terminal includes a description file 1 and a description file 2, where the service items included in the description file 1 are A, B, F and D, and the service items included in the description file 2 are A, E, since the number of coincidences between the service items included in the description file 1 and the service items used by the target application is greater than that of the description file 2, it may be determined that the description file 1 is the first description file matching the target application.
And after the user terminal selects the first description file, compiling and signing the first project directory file according to the first description file to obtain a second project directory file. Optionally, the user terminal may modify the identifier of the target application program in the first project directory file into an identifier of an application program included in the first description file, close a service item different from the at least one service item in the first description file, such as the service items D and F in the above example, and then compile and sign the modified first project directory file according to the closed first description file to obtain a second project directory file.
And modifying the identifier of the target application program in the first engineering directory file into the identifier of the application program contained in the first description file, so that the first engineering directory file can be regarded as the engineering directory file corresponding to the first description file.
It is understood that the digital certificate used for signing the first project directory file is the iOS certificate included in the first description file.
The user terminal then sends the obtained second project directory file to the management platform, the management platform selects a building server (the pressure can be randomly selected or selected according to the load pressure), and sends the second project directory file and a second description file corresponding to the target application program to the building server. When the target application program is set as the application program to be constructed on the management platform, the description file, namely the second description file and other related information are associated with the target application program, so that the management platform can obtain the second description file accordingly.
It should be noted that, compared with the first description file, the second description file is a description file applied from the iOS provider when the target application is initially desired to be constructed, and the second description file includes information such as the identifier of the target application and the digital certificate applied. And the first description file is a description file which is previously applied by the user terminal for constructing other application programs.
And after receiving the second description file and the second project directory file, the construction server carries out re-signature processing on the second project directory file based on the second description file to finally obtain the installation package of the target application program.
Optionally, the construction server may delete a signature file included in the second engineering directory file, that is, a signature file obtained by signing the first engineering directory file according to the digital certificate in the first description file; modifying the application program identifier in the second project directory file according to the application program identifier contained in the second description file, namely modifying the application program identifier in the second project directory file back to the identifier of the target application program because the application program identifier in the second description file is the identifier of the target application program; and finally, re-signing the deleted and modified second engineering directory file according to the digital certificate contained in the second description file.
In summary, the construction of the iOS application is assisted by extending the user terminal of the individual user, and specifically, the code compiling and signing processes of the iOS application are completed by the user terminal, so that the construction of the iOS application can be completed by the construction server by performing one-time re-signing processing on the processing result of the user terminal based on the description file corresponding to the iOS application, and the load pressure of the construction server is shared.
In practical applications, there are often more than one user terminal registered to the management platform and more than one build server, and a structure of a generally applicable application building system in practical applications is described below with reference to fig. 2, as shown in fig. 2, the application building system may include:
a user terminal cluster, a server cluster, a management platform and a product warehouse are constructed;
each user terminal included in the user terminal cluster, such as the user terminal 1, the user terminal 2, and the user terminal 3 illustrated in fig. 2, is a user terminal registered in the management platform. The build server cluster includes one or more build servers, such as build server 1, build server 2, and build server 3 shown in fig. 2.
In the process of constructing the target application, the process of selecting the user terminal from the user terminal cluster and selecting the construction server from the construction server cluster by the management platform may be referred to the description in the foregoing embodiments, and details are not described herein.
After the selected build server completes the re-signing process to obtain the installation package of the target application program, the build server may send the installation package to a product warehouse for storage. Wherein the product warehouse may be an independent server or other device.
In practical application, the second description file may include device list information corresponding to the target application program, that is, information describing which devices can use the target application program, based on which, the product warehouse may generate a distribution link, and further send the distribution link to a corresponding device according to the device list information, so that the device corresponding to the device list information may download an installation package of the target application program according to the distribution link, and install and use the target application program. Wherein the distribution link indicates the specific storage space of the installation package in the product warehouse.
The above description describes the application program building process from the perspective of the application program building system, and the following description describes the processing logic of each of the management platform, the user terminal and the building server in the application program building process, respectively.
Fig. 3 is a flowchart of an application program constructing method according to an embodiment of the present invention, where the application program constructing method according to the embodiment of the present invention may be executed by a management platform. As shown in fig. 3, the method comprises the steps of:
301. and responding to a construction request of a user for the target application program, and screening out the user terminals matched with the target application program from the registered user terminal set if the load of the construction server reaches a preset condition.
In practical application, for any user terminal, the process of registering with the management platform may be: the user terminal sends registration information to the management platform, where the registration information may include information such as a development tool version number, code library access identity information, and a communication address corresponding to the user terminal, where the communication address is, for example, an IP address, a port number, and the like, and is used to subsequently establish a communication connection between the management platform and the user terminal based on the communication address. When the management platform receives the registration information, the registration information may be stored and the user terminal may be added to the user terminal set, and specifically, the device identifier of the user terminal may be added to the user terminal set.
Based on the registration information, the user terminals matched with the target application program are screened from the registered user terminal set, and the method can be implemented as follows:
and screening out the user terminals of which the development tool version numbers are matched with the development tool version numbers of the target application programs and the code base access identity information is matched with the code operation authority of the target application programs from the registered user terminal set.
In addition, in practical applications, in order to ensure the use security of the user terminal, the registration information of the user terminal may further include a password set by the user, that is, the owner of the user terminal may set the password, and when a user uses the user terminal to construct the target application program, the user terminal may be used only after the user inputs a correct password, that is, the user needs to know the password of the user terminal first.
Based on this, after the management platform screens out the user terminals matched with the target application program, optionally, the management platform can display the screened user terminals on an interface for a user to select, when the user terminal selected by the user is provided with a password, the user can use the user terminal only by inputting a correct password, and if the user cannot input the correct password, the management platform can send out error prompt information so that the user can select other user terminals. Or, optionally, in the screening process, the management platform may further screen out a user terminal that is not provided with a password, that is, a user terminal that is matched with the target application program and is not provided with a password, on the basis of the version number of the development tool and the code operation authority.
302. And sending a construction instruction to the user terminal, wherein the construction instruction comprises the code base address and the code version number of the target application program, so that the user terminal downloads the first project directory file corresponding to the code version number from the code base address.
303. And receiving a second project directory file sent by the user terminal, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a first description file which is locally stored and matched with the target application program by the user terminal.
304. And sending the second project directory file and a second description file corresponding to the target application program to a construction server, so that the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
For the description of the embodiments that is not described in detail, reference may be made to the descriptions in the foregoing embodiments.
Fig. 4 is a flowchart of another application program constructing method according to an embodiment of the present invention, where the application program constructing method according to the embodiment of the present invention may be executed by a user terminal.
The user terminal is selected from the registered user terminal set by the management platform and matched with the target application program. For this reason, the user terminal needs to send registration information to the management platform in advance, so that the management platform adds the user terminal to the user terminal set, and the registration information includes information such as a development tool version number, code library access identity information, and a communication address corresponding to the user terminal.
As shown in fig. 4, the following steps may be included:
401. and receiving a construction instruction sent by the management platform, wherein the construction instruction comprises a code base address and a code version number of the target application program.
402. And downloading a first project directory file corresponding to the code version number from the code base address.
403. A first description file matched with the first project directory file is determined from the locally stored description file set.
Wherein, the selecting process of the first description file may be: acquiring at least one service item used by a target application program from a first project directory file; and determining the description file which contains the service item and has the most superposition with the at least one service item from the locally stored description file set as a first description file.
404. And compiling and signing the first engineering directory file according to the first description file to obtain a second engineering directory file.
Wherein, the compiling and signing process may be:
modifying the identifier of the target application program in the first project directory file into the identifier of the application program contained in the first description file; closing a service item different from the at least one service item in the first description file; and compiling and signing the modified first engineering directory file according to the closed first description file to obtain a second engineering directory file.
405. And sending the second project directory file to the management platform, so that the management platform sends the second project directory file and a second description file corresponding to the target application program to the construction server, and the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
For the description of the embodiments that is not described in detail, reference may be made to the descriptions in the foregoing embodiments.
Fig. 5 is a flowchart of another application building method according to an embodiment of the present invention, where the application building method according to an embodiment of the present invention may be executed by a building server. As shown in fig. 5, the following steps may be included:
501. and receiving a first project directory file and a first description file corresponding to the target application program, which are sent by the management platform, wherein the first project directory file is obtained by compiling and signing a second project directory file of the target application program downloaded from the code base by using a second description file which is locally stored and matched with the target application program by the user terminal.
502. And re-signing the first project directory file according to the first description file to obtain the installation package of the target application program.
Specifically, the process of the re-signature process may be: deleting the signature file contained in the first project directory file; modifying the application program identifier in the first project directory file according to the application program identifier contained in the first description file; and re-signing the deleted and modified first engineering directory file according to the digital certificate contained in the first description file.
For the description of the embodiments that is not described in detail, reference may be made to the descriptions in the foregoing embodiments.
Fig. 6 is an interaction flowchart of an application program constructing method according to an embodiment of the present invention, and as shown in fig. 6, the method may include the following steps:
601. and responding to a construction request of a user for the target application program, and screening out the user terminals matched with the target application program from the registered user terminal set if the load of the construction server reaches a preset condition.
602. And sending a construction instruction to the user terminal, wherein the construction instruction comprises a code base address and a code version number of the target application program.
603. The user terminal downloads a first project directory file corresponding to the code version number from the code base address, determines a first description file matched with the first project directory file from a locally stored description file set, and compiles and signs the first project directory file according to the first description file to obtain a second project directory file.
604. And the user terminal sends the second project directory file to the management platform.
605. And the management platform sends the second project directory file and a second description file corresponding to the target application program to the construction server.
606. And the construction server carries out re-signing processing on the second project directory file according to the second description file so as to obtain the installation package of the target application program.
The application building apparatus of one or more embodiments of the present invention will be described in detail below. Those skilled in the art will appreciate that these application building means can each be constructed by configuring them by the steps taught in the present scheme using commercially available hardware components.
Fig. 7 is a schematic structural diagram of an application building apparatus according to an embodiment of the present invention, and as shown in fig. 7, the apparatus includes: the system comprises a user terminal selection module 11, a sending module 12 and a receiving module 13.
And the user terminal selection module 11 is configured to, in response to a construction request of a user for a target application program, screen, from a registered user terminal set, a user terminal that is matched with the target application program if a load of a construction server reaches a preset condition.
A sending module 12, configured to send a building instruction to the user terminal, where the building instruction includes a code library address and a code version number of the target application program, so that the user terminal downloads a first project directory file corresponding to the code version number from the code library address.
A receiving module 13, configured to receive a second project directory file sent by the user terminal, where the second project directory file is obtained by the user terminal compiling and signing the first project directory file according to a locally stored first description file matched with the target application program.
The sending module 12 is further configured to send the second project directory file and a second description file corresponding to the target application program to a build server, so that the build server performs re-signing processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
Optionally, the receiving module 13 may further be configured to:
receiving registration information of the user terminal, wherein the registration information comprises a development tool version number, code library access identity information and a communication address corresponding to the user terminal; storing the registration information and adding the user terminal to the set of user terminals.
Optionally, the user terminal selection module 11 may be specifically configured to: and screening out the user terminals of which the development tool version numbers are matched with the development tool version numbers of the target application programs and the code base access identity information is matched with the code operation authority of the target application programs from the registered user terminal set.
The apparatus shown in fig. 7 can perform the method of the embodiment shown in fig. 3, and reference may be made to the related description of the embodiment shown in fig. 3 for a part of this embodiment that is not described in detail. The implementation process and technical effect of the technical solution refer to the description in the embodiment shown in fig. 3, and are not described herein again.
The internal functions and structures of the application building apparatus are described above, and in one possible design, the structure of the application building apparatus may be implemented as a management platform, which may specifically be a server, as shown in fig. 8, and the management platform may include: a first processor 21 and a first memory 22. Wherein the first memory 22 is used for storing a program that supports the management platform to execute the application program constructing method provided in the embodiment shown in fig. 3, and the first processor 21 is configured to execute the program stored in the first memory 22.
The program comprises one or more computer instructions which, when executed by the first processor 21, are capable of performing the steps of:
responding to a construction request of a user for a target application program, and if the load of a construction server reaches a preset condition, screening out user terminals matched with the target application program from a registered user terminal set;
sending a construction instruction to the user terminal, wherein the construction instruction comprises a code base address and a code version number of the target application program, so that the user terminal downloads a first project directory file corresponding to the code version number from the code base address;
receiving a second project directory file sent by the user terminal, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a first description file which is locally stored and matched with the target application program by the user terminal;
and sending the second project directory file and a second description file corresponding to the target application program to a construction server, so that the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
Optionally, the first processor 21 is further configured to perform all or part of the steps in the foregoing embodiment shown in fig. 3.
The structure of the management platform may further include a first communication interface 23, which is used for the management platform to communicate with other devices or a communication network.
In addition, an embodiment of the present invention provides a computer storage medium, configured to store computer software instructions for the management platform, where the computer software instructions include a program for executing the application program constructing method in the method embodiment shown in fig. 3.
Fig. 9 is a schematic structural diagram of another application building apparatus according to an embodiment of the present invention, and as shown in fig. 9, the apparatus includes: a receiving module 31, a downloading module 32, a description file determining module 33, a compiling processing module 34 and a sending module 35.
A receiving module 31, configured to receive a construction instruction sent by a management platform, where the construction instruction includes a code base address and a code version number of a target application program, and the user terminal is a user terminal that is screened by the management platform from a registered user terminal set and matches the target application program.
And the downloading module 32 is configured to download the first project directory file corresponding to the code version number from the code library address.
And the description file determining module 33 is configured to determine a first description file matching the first project directory file from the locally stored description file set.
And the compiling processing module 34 is configured to compile and sign the first project directory file according to the first description file to obtain a second project directory file.
The sending module 35 is configured to send the second project directory file to the management platform, so that the management platform sends the second project directory file and the second description file corresponding to the target application to a build server, so that the build server performs re-signing processing on the second project directory file according to the second description file to obtain an installation package of the target application.
Optionally, the description file determining module 33 may be configured to: acquiring at least one service item used by the target application program from the first project directory file; and determining the description file which contains the service item and has the most superposition with the at least one service item from the locally stored description file set as the first description file.
Optionally, the compiling processing module 34 may be configured to: modifying the identifier of the target application program in the first project directory file into the identifier of the application program contained in the first description file; closing a service item in the first description file, which is different from the at least one service item; and compiling and signing the modified first engineering directory file according to the closed first description file to obtain a second engineering directory file.
Optionally, the sending module 35 may be further configured to: and sending registration information to the management platform so that the management platform adds the user terminal to the user terminal set, wherein the registration information comprises a development tool version number, code library access identity information and a communication address corresponding to the user terminal.
The apparatus shown in fig. 9 can execute the method of the embodiment shown in fig. 4, and reference may be made to the related description of the embodiment shown in fig. 4 for a part of this embodiment that is not described in detail. The implementation process and technical effect of the technical solution refer to the description in the embodiment shown in fig. 4, and are not described herein again.
Having described the internal functions and structure of the application building apparatus, in one possible design, the structure of the application building apparatus shown in fig. 9 may be implemented as a user terminal, as shown in fig. 10, which may include: a second processor 41 and a second memory 42. Wherein the second memory 42 is used for storing a program for supporting the user terminal to execute the application program constructing method provided in the embodiment shown in fig. 4, and the second processor 41 is configured to execute the program stored in the second memory 42.
The program comprises one or more computer instructions which, when executed by the second processor 41, are capable of performing the steps of:
receiving a construction instruction sent by a management platform, wherein the construction instruction comprises a code base address and a code version number of a target application program, and the user terminal is a user terminal which is screened by the management platform from a registered user terminal set and is matched with the target application program;
downloading a first project directory file corresponding to the code version number from the code base address;
determining a first description file matched with the first project directory file from a locally stored description file set;
compiling and signing the first engineering directory file according to the first description file to obtain a second engineering directory file;
and sending the second project directory file to the management platform, so that the management platform sends the second project directory file and a second description file corresponding to the target application program to a construction server, and the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
Optionally, the second processor 41 is further configured to perform all or part of the steps in the foregoing embodiment shown in fig. 4.
The structure of the user terminal may further include a second communication interface 43, which is used for the user terminal to communicate with other devices or a communication network.
In addition, an embodiment of the present invention provides a computer storage medium, configured to store computer software instructions for the user terminal, where the computer software instructions include a program for executing the application program constructing method in the method embodiment shown in fig. 4.
Fig. 11 is a schematic structural diagram of another application building apparatus according to an embodiment of the present invention, and as shown in fig. 11, the apparatus includes: a receiving module 51 and a signature processing module 52.
The receiving module 51 is configured to receive a first project directory file and a first description file corresponding to a target application program, where the first project directory file is obtained by a user terminal compiling and signing a second project directory file of the target application program downloaded from a code library by using a locally stored second description file matched with the target application program.
And the signature processing module 52 is configured to perform re-signature processing on the first project directory file according to the first description file to obtain an installation package of the target application.
Optionally, the signature processing module 52 may be configured to: deleting the signature file contained in the first project directory file; modifying the application program identifier in the first project directory file according to the application program identifier contained in the first description file; and re-signing the deleted and modified first engineering directory file according to the digital certificate contained in the first description file.
The apparatus shown in fig. 11 can execute the method of the embodiment shown in fig. 5, and reference may be made to the related description of the embodiment shown in fig. 5 for a part of this embodiment that is not described in detail. The implementation process and technical effect of the technical solution are described in the embodiment shown in fig. 5, and are not described herein again.
Having described the internal functions and structure of the application building apparatus, in one possible design, the structure of the application building apparatus shown in fig. 11 may be implemented as a building server, as shown in fig. 12, which may include: a third processor 61 and a third memory 62. Wherein the third memory 62 is used for storing a program for supporting the construction server to execute the application construction method provided in the embodiment shown in fig. 5, and the third processor 61 is configured to execute the program stored in the third memory 62.
The program comprises one or more computer instructions which, when executed by the third processor 61, are capable of performing the steps of:
receiving a first project directory file and a first description file corresponding to a target application program, wherein the first project directory file is obtained by compiling and signing a second project directory file of the target application program downloaded from a code base by a user terminal by using a locally stored second description file matched with the target application program;
and re-signing the first project directory file according to the first description file to obtain an installation package of the target application program.
Optionally, the third processor 61 is further configured to perform all or part of the steps in the foregoing embodiment shown in fig. 5.
The construction server may further include a third communication interface 63, which is used for the construction server to communicate with other devices or communication networks.
In addition, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for the above-mentioned construction server, which includes a program for executing the application program construction method in the above-mentioned method embodiment shown in fig. 5.
The above-described embodiments of the apparatus are merely illustrative, and 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 modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course, can also be implemented by a combination of hardware and software. With this understanding in mind, the above-described aspects and portions of the present technology which contribute substantially or in part to the prior art may be embodied in the form of a computer program product, which may be embodied on one or more computer-usable storage media having computer-usable program code embodied therein, including without limitation disk storage, CD-ROM, optical storage, and the like.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (13)

1. An application program building method, applied to a management platform, the method comprising:
responding to a construction request of a user for a target application program, and if the load of a construction server reaches a preset condition, screening out user terminals matched with the target application program from a registered user terminal set;
sending a construction instruction to the user terminal, wherein the construction instruction comprises a code base address and a code version number of the target application program, so that the user terminal downloads a first project directory file corresponding to the code version number from the code base address;
receiving a second project directory file sent by the user terminal, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a first description file which is locally stored and matched with the target application program by the user terminal;
and sending the second project directory file and a second description file corresponding to the target application program to a construction server, so that the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
2. The method of claim 1, further comprising:
receiving registration information of the user terminal, wherein the registration information comprises a development tool version number, code library access identity information and a communication address corresponding to the user terminal;
storing the registration information and adding the user terminal to the set of user terminals.
3. The method of claim 2, wherein the screening out the user terminals matching the target application from the registered user terminal set comprises:
and screening out the user terminals of which the development tool version numbers are matched with the development tool version numbers of the target application programs and the code base access identity information is matched with the code operation authority of the target application programs from the registered user terminal set.
4. An application building apparatus, applied to a management platform, comprising:
the user terminal selection module is used for responding to a construction request of a user for a target application program, and screening user terminals matched with the target application program from a registered user terminal set if the load of a construction server reaches a preset condition;
a sending module, configured to send a building instruction to the user terminal, where the building instruction includes a code library address and a code version number of the target application program, so that the user terminal downloads a first project directory file corresponding to the code version number from the code library address;
the receiving module is used for receiving a second project directory file sent by the user terminal, wherein the second project directory file is obtained by compiling and signing the first project directory file according to a first description file which is locally stored and matched with the target application program by the user terminal;
the sending module is further configured to send the second project directory file and a second description file corresponding to the target application program to a build server, so that the build server performs re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
5. An application program construction method, applied to a user terminal, the method comprising:
receiving a construction instruction sent by a management platform, wherein the construction instruction comprises a code base address and a code version number of a target application program, and the user terminal is a user terminal which is screened by the management platform from a registered user terminal set and is matched with the target application program;
downloading a first project directory file corresponding to the code version number from the code base address;
determining a first description file matched with the first project directory file from a locally stored description file set;
compiling and signing the first engineering directory file according to the first description file to obtain a second engineering directory file;
and sending the second project directory file to the management platform, so that the management platform sends the second project directory file and a second description file corresponding to the target application program to a construction server, and the construction server carries out re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
6. The method of claim 5, wherein determining a first profile from the locally stored set of profiles that matches the first application code file comprises:
acquiring at least one service item used by the target application program from the first project directory file;
and determining the description file which contains the service item and has the most superposition with the at least one service item from the locally stored description file set as the first description file.
7. The method of claim 5, wherein compiling and signing the first project directory file from the first description file to obtain a second project directory file comprises:
modifying the identifier of the target application program in the first project directory file into the identifier of the application program contained in the first description file;
closing a service item in the first description file, which is different from the at least one service item;
and compiling and signing the modified first engineering directory file according to the closed first description file to obtain a second engineering directory file.
8. The method according to any one of claims 5 to 7, further comprising:
and sending registration information to the management platform so that the management platform adds the user terminal to the user terminal set, wherein the registration information comprises a development tool version number, code library access identity information and a communication address corresponding to the user terminal.
9. An application building apparatus, applied to a user terminal, includes:
the system comprises a receiving module, a judging module and a judging module, wherein the receiving module is used for receiving a construction instruction sent by a management platform, the construction instruction comprises a code base address and a code version number of a target application program, and the user terminal is a user terminal which is screened by the management platform from a registered user terminal set and is matched with the target application program;
the downloading module is used for downloading a first project directory file corresponding to the code version number from the code base address;
the description file determining module is used for determining a first description file matched with the first project directory file from a locally stored description file set;
the compiling processing module is used for compiling and signing the first engineering directory file according to the first description file to obtain a second engineering directory file;
and the sending module is used for sending the second project directory file to the management platform so that the management platform sends the second project directory file and a second description file corresponding to the target application program to a construction server to enable the construction server to perform re-signature processing on the second project directory file according to the second description file to obtain an installation package of the target application program.
10. An application program building method, applied to a building server, the method comprising:
receiving a first project directory file and a first description file corresponding to a target application program, wherein the first project directory file is obtained by compiling and signing a second project directory file of the target application program downloaded from a code base by a user terminal by using a locally stored second description file matched with the target application program;
and re-signing the first project directory file according to the first description file to obtain an installation package of the target application program.
11. The method of claim 10, wherein said re-signing the first project directory file according to the first description file comprises:
deleting the signature file contained in the first project directory file;
modifying the application program identifier in the first project directory file according to the application program identifier contained in the first description file;
and re-signing the deleted and modified first engineering directory file according to the digital certificate contained in the first description file.
12. An application building apparatus, applied to a building server, comprising:
the system comprises a receiving module, a management platform and a processing module, wherein the receiving module is used for receiving a first project directory file and a first description file corresponding to a target application program, which are sent by the management platform, and the first project directory file is obtained by compiling and signing a second project directory file of the target application program downloaded from a code library by a user terminal by using a locally stored second description file matched with the target application program;
and the signature processing module is used for re-signing the first project directory file according to the first description file to obtain the installation package of the target application program.
13. An application building system, comprising:
the system comprises a user terminal, a management platform and a construction server;
the management platform is used for responding to a construction request of a user for a target application program, screening the user terminal matched with the target application program from a registered user terminal set if the load of the construction server is determined to reach a preset condition, and sending a construction instruction to the user terminal, wherein the construction instruction comprises a code base address and a code version number of the target application program; receiving a second project directory file sent by the user terminal, and sending the second project directory file and a second description file corresponding to the target application program to the construction server;
the user terminal is used for downloading a first project directory file corresponding to the code version number from the code base address, determining a first description file matched with the first project directory file from a locally stored description file set, compiling and signing the first project directory file according to the first description file to obtain a second project directory file, and sending the second project directory file to the management platform;
and the construction server is used for carrying out re-signing processing on the second project directory file according to the second description file so as to obtain the installation package of the target application program.
CN201810885139.7A 2018-08-06 2018-08-06 Application program construction method, device and system Active CN110806935B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810885139.7A CN110806935B (en) 2018-08-06 2018-08-06 Application program construction method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810885139.7A CN110806935B (en) 2018-08-06 2018-08-06 Application program construction method, device and system

Publications (2)

Publication Number Publication Date
CN110806935A true CN110806935A (en) 2020-02-18
CN110806935B CN110806935B (en) 2023-04-07

Family

ID=69487096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810885139.7A Active CN110806935B (en) 2018-08-06 2018-08-06 Application program construction method, device and system

Country Status (1)

Country Link
CN (1) CN110806935B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094659A (en) * 2021-03-17 2021-07-09 青岛海尔科技有限公司 Method, device, platform equipment and system for publishing application file

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087963A1 (en) * 2000-09-26 2002-07-04 Dan Eylon Preprocessed applications suitable for network streaming applications and method for producing same
CN104423955A (en) * 2013-09-05 2015-03-18 北大方正集团有限公司 Method and system for realizing automatic compilation of iOS application
CN104869168A (en) * 2015-05-29 2015-08-26 深圳市云舒网络技术有限公司 Load balance method of desktop virtual application
CN104965748A (en) * 2015-06-03 2015-10-07 广州华多网络科技有限公司 Compiling platform, and compiling method and apparatus
CN105955794A (en) * 2016-04-27 2016-09-21 国网辽宁省电力有限公司信息通信分公司 Construction method and system of desktop operating system
CN106066808A (en) * 2016-05-30 2016-11-02 浪潮软件股份有限公司 A kind of ios application build server, cluster and method
CN108287694A (en) * 2017-08-08 2018-07-17 深圳壹账通智能科技有限公司 Application builds method, system, computer equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087963A1 (en) * 2000-09-26 2002-07-04 Dan Eylon Preprocessed applications suitable for network streaming applications and method for producing same
CN104423955A (en) * 2013-09-05 2015-03-18 北大方正集团有限公司 Method and system for realizing automatic compilation of iOS application
CN104869168A (en) * 2015-05-29 2015-08-26 深圳市云舒网络技术有限公司 Load balance method of desktop virtual application
CN104965748A (en) * 2015-06-03 2015-10-07 广州华多网络科技有限公司 Compiling platform, and compiling method and apparatus
CN105955794A (en) * 2016-04-27 2016-09-21 国网辽宁省电力有限公司信息通信分公司 Construction method and system of desktop operating system
CN106066808A (en) * 2016-05-30 2016-11-02 浪潮软件股份有限公司 A kind of ios application build server, cluster and method
CN108287694A (en) * 2017-08-08 2018-07-17 深圳壹账通智能科技有限公司 Application builds method, system, computer equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江逸舟;沈立炜;彭鑫;赵文耘;: "基于应用描述的Android代码自动生成" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094659A (en) * 2021-03-17 2021-07-09 青岛海尔科技有限公司 Method, device, platform equipment and system for publishing application file

Also Published As

Publication number Publication date
CN110806935B (en) 2023-04-07

Similar Documents

Publication Publication Date Title
US11048620B2 (en) Distributed system test device
CN109981679B (en) Method and apparatus for performing transactions in a blockchain network
CN108845812B (en) Plug-in updating method, device, computer equipment and storage medium
US9778924B2 (en) Platform for enabling creation and use of an API for a specific solution
CN110569035B (en) Code compiling method, device, equipment and storage medium of software development project
JP6752969B2 (en) Methods, devices and servers for account login
US9417870B2 (en) Managing user access to alternative versions of a particular function of a software product from within a current version of the software product
US10411961B2 (en) Image management in cloud environments
CN112486547A (en) Application program updating method and device under multi-tenant scene and electronic equipment
CN105765527A (en) Method and apparatus for custom software development kit (SDK) generation
US10162952B2 (en) Security model for network information service
KR101935847B1 (en) Method and system for modifying machine instructions in compiled software
CN108829588B (en) Processing method, deployment system and device for testing application program
US20220253297A1 (en) Automated deployment of changes to applications on a cloud computing platform
CN111460394A (en) Copyright file verification method and device and computer readable storage medium
CN106709281B (en) Patch granting and acquisition methods, device
CN112702195A (en) Gateway configuration method, electronic device and computer readable storage medium
US11656864B2 (en) Automatic application of software updates to container images based on dependencies
CN110806935B (en) Application program construction method, device and system
CN115203746A (en) Data account access authorization method and device
CN115221559A (en) Data account access authorization method and device
CN114462101A (en) Processing system, method and device for application apk packet
WO2021151514A1 (en) Network function management
CN116029526B (en) Scheduling method, device, equipment and storage medium of experimental resources
CN116991713B (en) Method, device, computer equipment and storage medium for executing use cases across environments

Legal Events

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