APK file release method and system of Android application program
By extracting APK files from Jenkins server and uploading them to the file server, and generating an IP blacklist with Nginx logs, the automation and reliability of the APK file release process of Android applications is achieved, and the inefficiency and error problems caused by manual intervention in the existing technology are solved.
Patent Information
- Application Number
- CN202510433645.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-08
- Publication Date
- 2025-08-08
AI Technical Summary
The APK file release process of Android applications requires more manual intervention, resulting in inefficient release and error-prone.
By extracting APK files and MD5 values from Jenkins server, uploading them to the file server and verifying, obtaining release information and pushing them at preset times, and using Nginx logs to generate IP blacklists for banning, realizing an automated and flexible publishing process.
It significantly reduces manual communication and operational errors in the intermediate links, ensures the smooth and reliable release process, improves service availability and reduces the cost of illegal requests.
Smart Images

Figure CN120448350A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer software development, and in particular to an APK file publishing method, system, electronic device, and storage medium for an Android application. Background Art
[0002] With the ubiquity of smartphones and tablets, mobile applications (APPs) have become an integral part of users' daily lives and work. To provide a better user experience and promptly address software bugs, APPs require regular updates. Currently, the release of a new Android app version begins with a test engineer building the client APK file (the packaged APP installation package). After passing the test, the test engineer emails the APK file and its MD5 checksum to the operations engineer, who then uploads the APK file to the server and responds. Finally, the product manager emails the update details and the specific release date. Upon receiving the email, the configuration administrator fills in the new version installation package release information in the configuration management backend at the time specified by the product manager, including the APK download link, MD5 checksum, version number, and update notification text, and turns on the in-app update switch. Once the APP client receives the release information, users will receive a push notification of the new version when they open the app. Accepting the update automatically updates the app version. The APK file release process for Android apps often requires significant manual intervention. As the number of enterprise apps increases, release efficiency and error-proneness become increasingly prominent. Summary of the Invention
[0003] In order to solve or partially solve the above-mentioned technical problems, the present invention provides an APK file publishing method, system, electronic device and storage medium for Android applications, which makes the publishing process more flexible and automated, significantly reduces manual communication and operations in the intermediate links, effectively reduces errors and human operational errors that may occur during information transmission, and ensures the smoothness and reliability of the publishing process.
[0004] In a first aspect, an embodiment of the present invention provides a method for publishing an APK file of an Android application. The method comprises:
[0005] Extract the APK file from the Jenkins server and obtain the MD5 value;
[0006] Upload the APK file to the file server and verify the MD5 value generated after the APK file is uploaded to the file server;
[0007] If the verification is passed, the release information of the application is obtained, and the release information includes the preset release time;
[0008] Push release information at the preset release time;
[0009] The file server consists of an FTP service and exposes the HTTP access interface of the file server through the Nginx reverse proxy;
[0010] The method further includes generating an IP blacklist of accessing the APK file download link based on the Nginx log, and banning the IPs in the IP blacklist.
[0011] In one embodiment, before extracting the APK file from the Jenkins server and obtaining the MD5 value, the method further includes:
[0012] Get the buildID of the Jenkins job for the application that passed the test;
[0013] Extracting the APK file from the Jenkins server and obtaining the MD5 value include:
[0014] Extract the APK file and obtain the MD5 value from the build product of the buildID-th Jenkins job corresponding to the Jenkins server.
[0015] In one embodiment, generating an IP blacklist for accessing the APK file download link based on the Nginx log includes:
[0016] Read Nginx logs and parse log lines;
[0017] If the IP address accessing the APK file download link is not in the IP whitelist, its request metrics will be counted;
[0018] If the request indicator of the IP triggers the ban condition, the IP will be added to the IP blacklist.
[0019] In one embodiment, after adding the IP address to the IP blacklist, generating the IP blacklist for accessing the APK file download link based on the Nginx log further includes:
[0020] Generate a new Nginx blacklist configuration;
[0021] Reload the Nginx configuration;
[0022] Regularly remove IP blacklist records that have exceeded the ban period.
[0023] In one embodiment, after uploading the APK file to the file server and verifying the MD5 value generated after the APK file is uploaded to the file server, the method further includes:
[0024] If the verification passes, the CDN cache preheating process will be triggered actively.
[0025] In a second aspect, an embodiment of the present invention provides an APK file publishing system for an Android application. The system includes:
[0026] File extraction module, used to extract APK files from the Jenkins server and obtain MD5 values;
[0027] A file upload module is used to upload the APK file to the file server and verify the MD5 value generated after the APK file is uploaded to the file server; the file server is composed of an FTP service and exposes the HTTP access interface of the file server through the Nginx reverse proxy;
[0028] A release information acquisition module, configured to acquire the release information of the application program if the verification is passed, wherein the release information includes a preset release time;
[0029] Release information push module, used to push release information at the preset release time;
[0030] The IP ban module is used to generate an IP blacklist of accessing APK file download links based on Nginx logs and ban the IPs in the IP blacklist.
[0031] In one embodiment, the system further comprises:
[0032] The buildID acquisition module is used to obtain the buildID of the Jenkins job of the application that passed the test;
[0033] The file extraction module is also used to extract the APK file and obtain the MD5 value from the build product of the buildID-th build of the corresponding Jenkins job in the Jenkins server.
[0034] In one embodiment, the IP blocking module is also used to read Nginx logs and parse log lines; if the IP accessing the APK file download link is not in the IP whitelist, its request indicators are counted; if the request indicators of the IP trigger the blocking conditions, the IP is added to the IP blacklist.
[0035] In one embodiment, the IP blocking module is further configured to generate a new Nginx blacklist configuration; reload the Nginx configuration; and periodically remove IP blacklist records that have exceeded the blocking period.
[0036] In one embodiment, the system further comprises:
[0037] The cache preheating trigger module is used to actively trigger the CDN cache preheating process if the verification passes.
[0038] In a third aspect, the present invention provides an electronic device, comprising:
[0039] at least one processor; and
[0040] a memory communicatively connected to the at least one processor; wherein,
[0041] The memory stores a computer program that can be executed by the at least one processor. The computer program is executed by the at least one processor so that the at least one processor can execute the above-mentioned APK file publishing method for the Android application.
[0042] In a fourth aspect, the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to implement the above-mentioned APK file publishing method for Android applications when executed by a processor.
[0043] In an embodiment of the present invention, the APK file is extracted from the Jenkins server and its MD5 value is obtained; the APK file is uploaded to the file server and the MD5 value generated after the APK file is uploaded to the file server is verified; if the verification passes, the application's release information is obtained, including a preset release time; and the release information is pushed at the preset release time. This makes the APK file release process more flexible and automated, significantly reduces manual communication and operations in the intermediate links, effectively reduces errors and human operational errors that may occur during information transmission, and ensures a smooth and reliable release process. The access IP blacklist generated based on the Nginx log is blocked to improve service availability and reduce the cost of illegal requests. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0045] Figure 1 This is a flowchart of a method for publishing an APK file of an Android application provided in Example 1 of the present invention;
[0046] Figure 2 This is a structural diagram of an APK file publishing system for an Android application provided in a second embodiment of the present invention;
[0047] Figure 3 It is a structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0048] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0049] Figure 1 This is a flowchart of a method for publishing an APK file of an Android application provided by the first embodiment of the present invention. This embodiment can be applied to an APK file publishing system for an Android application, such as Figure 1 As shown, this embodiment may include the following steps:
[0050] Step 101: extract the APK file from the Jenkins server and obtain the MD5 value.
[0051] A Jenkins server is a physical or virtual host (including the operating system and hardware resources) that runs the Jenkins software. In the Android application (app) development process, Jenkins is a continuous integration and continuous delivery (CI / CD) tool that automatically compiles Android project code, packages resource files, and generates APK files (Android installation packages) according to predefined build scripts. The packaged APK files can be pulled from the Jenkins server's workspace directory or a specific location.
[0052] You can add a command to calculate the MD5 value in the build script that builds the APK file. This command will calculate the MD5 value of the APK file during the build process and record it in the build log. You can also obtain the MD5 value when extracting the APK file from the Jenkins server. Obtaining the MD5 information of the APK file can be used to verify the integrity and uniqueness of the file, ensuring that the file has not been tampered with during transmission or storage.
[0053] In one embodiment, before step 101, the method further includes:
[0054] Step 101a, obtain the buildID of the Jenkins job of the application that passed the test.
[0055] The step 101 includes extracting the APK file from the build product of the buildID-th build of the corresponding Jenkins job in the Jenkins server and obtaining the MD5 value.
[0056] In Jenkins, each job's build is assigned a unique buildID. After a successful build, if the job's build step includes generating an APK file, the buildID can be used to locate the corresponding build record, retrieve the packaged APK file, and obtain its MD5 hash.
[0057] Step 102: Upload the APK file to the file server and verify the MD5 value generated after the APK file is uploaded to the file server.
[0058] In this step, the APK file is uploaded to the file server to facilitate centralized management and efficient distribution. If the MD5 value generated after the APK file is uploaded to the file server passes the verification, it means that the APK file uploaded to the file server is complete.
[0059] The file server can be composed of an FTP service, with its HTTP access interface exposed through an Nginx reverse proxy. The Android application's APK file distribution system can use FTP's block upload method (also known as block transfer or resumable upload) to split large files into smaller chunks and then upload these chunks one by one. This approach improves upload efficiency and reliability, especially under unstable network conditions. Furthermore, hashlib is used to verify the integrity of file chunks, ensuring tamper-proofing during file transfer.
[0060] Use FTP service to build a file server to store and manage files, and then expose it in the form of HTTP interface through Nginx reverse proxy. This not only fully utilizes the advantages of FTP in file transfer and management, but also solves the shortcomings of FTP in Web access, while also enhancing the performance, security and ease of use of the system.
[0061] Step 103: If the verification is passed, the release information of the application is obtained, and the release information includes a preset release time.
[0062] In this step, after the MD5 value generated after uploading the APK file to the file server passes verification, the application's release information is obtained. The Android application's APK file release system provides an input interface for engineers or product managers to enter release information. This release information may include a preset release time, the APK file download link, the MD5 value, the version number, and update notification text.
[0063] Step 104: Push the release information at the preset release time.
[0064] In this step, the APK file publishing system of the Android application pushes the publishing information to the APP client when the preset publishing time arrives.
[0065] Step 105: Generate an IP blacklist of users who access the APK file download link based on the Nginx log, and block the IP addresses in the IP blacklist.
[0066] Because the file server's HTTP access interface is exposed through the Nginx reverse proxy, when users download APK files through their browsers, Nginx reverse proxies the request to the file server. Nginx logs record requests and events processed by Nginx, including client IP, request method, status code, response time, User-Agent, and more. Real-time or scheduled analysis of Nginx log data can help implement security protection.
[0067] Specifically, generating an IP blacklist for accessing the APK file download link based on the Nginx log may include the following sub-steps:
[0068] Sub-step 1051, read the Nginx log and parse the log lines;
[0069] Sub-step 1052: If the IP address accessing the APK file download link is not in the IP whitelist, then count its request metrics;
[0070] Sub-step 1053: If the request indicator of the IP triggers a blocking condition, the IP is added to the IP blacklist.
[0071] The blocking conditions may be high-frequency requests (such as >300 times / minute), abnormal errors (such as >50 times / minute), sensitive file .apk scanning (such as >20 times / minute), etc.
[0072] If the request indicator of the IP does not trigger the ban condition, it will be recorded as a normal request, the log processing offset will be updated, and the next execution will be waited.
[0073] In one embodiment, generating an IP blacklist for accessing the APK file download link based on the Nginx log may further include the following sub-steps:
[0074] Sub-step 1054, generating a new Nginx blacklist configuration;
[0075] Sub-step 1055, reload Nginx configuration;
[0076] Sub-step 1056: regularly remove IP blacklist records that have exceeded the ban period.
[0077] In one embodiment, after step 102, the method further includes:
[0078] Step 102a: If the verification passes, the CDN cache preheating process is actively triggered.
[0079] In this step, after the MD5 value generated after the APK file is uploaded to the file server is verified, the APK file publishing system of the Android application can call the CDN service provider CDN OpenAPI to actively trigger the CDN cache preheating process.
[0080] The specific process is as follows:
[0081] 1. Preheat trigger mechanism: When the MD5 value generated after the APK file is uploaded to the file server passes the verification, the Android application's APK file publishing system extracts the file's unique access URL and calls the CDN preheat API to submit the preheat task;
[0082] 2. Distributed node caching: The CDN service assigns pre-load tasks to edge nodes around the world or in designated regions based on pre-set policies (such as regional priority and node load balancing). The corresponding edge nodes proactively pull files from the origin (i.e., file server) and cache them, ensuring that APK files are cached to the CDN node closest to the user before they are accessed.
[0083] 3. Preheating status monitoring: The APK file publishing system of the Android application monitors the cache preheating progress in real time by polling the CDN task status query interface. If the task fails (such as node overload or network anomaly), the exponential backoff retry strategy is automatically triggered until the cache preheating is successful.
[0084] Cache preheating can effectively avoid CDN back-to-source peaks, save bandwidth costs, and improve user download experience.
[0085] In this embodiment, the APK file is extracted from the Jenkins server and its MD5 value is obtained; the APK file is uploaded to the file server and the MD5 value generated after the APK file is uploaded to the file server is verified; if the verification passes, the application's release information, including the preset release time, is obtained; and the release information is pushed at the preset release time. This makes the APK file release process more flexible and automated, significantly reducing manual communication and operations in the intermediate links, effectively reducing errors and human errors that may occur during information transmission, and ensuring a smooth and reliable release process. A blacklist of access IP addresses is generated based on Nginx logs to block access, improving service availability and reducing the cost of illegal requests.
[0086] Corresponding to the APK file publishing method of the Android application in the present invention, the present invention also provides an APK file publishing system of the Android application, Figure 2 This is a structural diagram of an APK file publishing system for an Android application. Figure 2As shown, the APK file publishing system of the Android application includes:
[0087] The file extraction module 201 is used to extract the APK file from the Jenkins server and obtain the MD5 value;
[0088] The file upload module 202 is used to upload the APK file to the file server and verify the MD5 value generated after the APK file is uploaded to the file server; the file server is composed of an FTP service and exposes the HTTP access interface of the file server through the Nginx reverse proxy;
[0089] Release information acquisition module 203, for acquiring release information of the application program if verification is passed, the release information including a preset release time;
[0090] Release information push module 204, used to push release information at a preset release time;
[0091] The IP blocking module 205 is used to generate an IP blacklist of accessing APK file download links based on Nginx logs, and block the IPs in the IP blacklist.
[0092] In one embodiment, the system further comprises:
[0093] The buildID acquisition module is used to obtain the buildID of the Jenkins job of the application that passed the test;
[0094] The file extraction module 201 is further configured to extract the APK file from the buildID-th build product of the corresponding Jenkins job in the Jenkins server and obtain the MD5 value.
[0095] In one embodiment, the IP blocking module 205 is also used to read Nginx logs and parse log lines; if the IP accessing the APK file download link is not in the IP whitelist, its request index is counted; if the request index of the IP triggers a blocking condition, the IP is added to the IP blacklist.
[0096] In one embodiment, the IP blocking module 205 is further configured to generate a new Nginx blacklist configuration; reload the Nginx configuration; and periodically remove IP blacklist records that have exceeded the blocking time limit.
[0097] In one embodiment, the system further comprises:
[0098] The cache preheating trigger module is used to actively trigger the CDN cache preheating process if the verification passes.
[0099] An APK file publishing system for an Android application provided by an embodiment of the present invention can execute an APK file publishing method for an Android application provided by any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method.
[0100] Figure 3 A schematic block diagram of an electronic device 30 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0101] like Figure 3 As shown, the electronic device 30 includes at least one processor 31 and a memory, such as a read-only memory (ROM) 32, a random access memory (RAM) 33, etc., which is communicatively connected to the at least one processor 31. The memory stores a computer program that can be executed by the at least one processor. The processor 31 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 32 or the computer program loaded from the storage unit 38 into the random access memory (RAM) 33. Various programs and data required for the operation of the electronic device 30 can also be stored in the RAM 33. The processor 31, ROM 32, and RAM 33 are connected to each other via a bus 34. An input / output (I / O) interface 35 is also connected to the bus 34.
[0102] Multiple components in the electronic device 30 are connected to the I / O interface 35, including an input unit 36, such as a keyboard, a mouse, etc.; an output unit 37, such as various types of displays, speakers, etc.; a storage unit 38, such as a magnetic disk, an optical disk, etc.; and a communication unit 39, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 39 allows the electronic device 30 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0103] Processor 31 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of processor 31 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any other suitable processors, controllers, microcontrollers, etc. Processor 31 executes the various methods and processes described above, such as the method for publishing an APK file for an Android application.
[0104] In some embodiments, the APK file publishing method for an Android application can be implemented as a computer program that is tangibly contained in a computer-readable storage medium, such as a storage unit 38. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 30 via the ROM 32 and / or the communication unit 39. When the computer program is loaded into the RAM 33 and executed by the processor 31, one or more steps of the APK file publishing method for an Android application described above can be performed. Alternatively, in other embodiments, the processor 31 can be configured to execute the APK file publishing method for an Android application by any other appropriate means (e.g., by means of firmware).
[0105] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0106] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0107] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0108] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0109] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0110] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0111] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0112] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A method for publishing an APK file of an Android application, characterized in that: The method comprises: Extract the APK file from the Jenkins server and obtain the MD5 value; Upload the APK file to the file server and verify the MD5 value generated after the APK file is uploaded to the file server; If the verification is passed, the release information of the application is obtained, and the release information includes the preset release time; Push release information at the preset release time; The file server consists of an FTP service and exposes the HTTP access interface of the file server through the Nginx reverse proxy; The method further includes generating an IP blacklist of accessing the APK file download link based on the Nginx log, and banning the IPs in the IP blacklist.
2. The method according to claim 1, characterized in that Before extracting the APK file from the Jenkins server and obtaining the MD5 value, the following steps are also included: Get the buildID of the Jenkins job for the application that passed the test; Extracting the APK file from the Jenkins server and obtaining the MD5 value include: Extract the APK file and obtain the MD5 value from the build product of the buildID-th Jenkins job corresponding to the Jenkins server.
3. The method according to claim 1, characterized in that The Nginx log-based generation of an IP blacklist for accessing the APK file download link includes: Read Nginx logs and parse log lines; If the IP address accessing the APK file download link is not in the IP whitelist, its request metrics will be counted; If the request indicator of the IP triggers the ban condition, the IP will be added to the IP blacklist.
4. The method according to claim 3, characterized in that After the IP is added to the IP blacklist, the IP blacklist for accessing the APK file download link is generated based on the Nginx log, further comprising: Generate a new Nginx blacklist configuration; Reload the Nginx configuration; Regularly remove IP blacklist records that have exceeded the ban period.
5. The method according to claim 1, wherein After uploading the APK file to the file server and verifying the MD5 value generated after the APK file is uploaded to the file server, the method further includes: If the verification passes, the CDN cache preheating process will be triggered actively.
6. An APK file publishing system for an Android application, characterized in that: The system comprises: File extraction module, used to extract APK files from the Jenkins server and obtain MD5 values; A file upload module is used to upload the APK file to the file server and verify the MD5 value generated after the APK file is uploaded to the file server; the file server is composed of an FTP service and exposes the HTTP access interface of the file server through the Nginx reverse proxy; A release information acquisition module, configured to acquire the release information of the application program if the verification is passed, wherein the release information includes a preset release time; Release information push module, used to push release information at the preset release time; The IP ban module is used to generate an IP blacklist of accessing APK file download links based on Nginx logs and ban the IPs in the IP blacklist.
7. The system according to claim 6, characterized in that: The IP blocking module is also used to read Nginx logs and parse log lines; if the IP accessing the APK file download link is not in the IP whitelist, its request indicators are counted; if the request indicators of the IP trigger the blocking conditions, the IP is added to the IP blacklist.
8. The system according to claim 7, characterized in that: The IP blocking module is also used to generate a new Nginx blacklist configuration; reload the Nginx configuration; and regularly remove IP blacklist records that have exceeded the blocking time limit.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the APK file publishing method for the Android application according to any one of claims 1 to 5.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the APK file publishing method for an Android application according to any one of claims 1 to 5 when executed.