Android-based software upgrading method and device, computer device and storage medium
By determining device compatibility, selectively downloading incremental or full packages and redirecting users to the app store, the problem of high resource consumption and inflexible upgrades in Android app updates is solved, achieving an efficient and low-cost upgrade solution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN LANYOU TECHNOLOGY CO LTD
- Filing Date
- 2025-01-24
- Publication Date
- 2026-07-24
AI Technical Summary
Android app updates face challenges such as high resource consumption, high data usage, and inflexible upgrade methods, especially when devices do not support app stores or incremental updates.
By determining whether the device supports app store upgrades and incremental updates, breakpoint download technology is used to selectively download incremental or full packages, and the correct upgrade is ensured through app store redirection rules.
It reduces file server resource consumption and user traffic, improves upgrade efficiency, lowers maintenance costs, and allows for flexible configuration of upgrade channels, making it suitable for all Android application scenarios.
Smart Images

Figure CN122450488A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software upgrade technology, and in particular to Android-based software upgrade methods, apparatus, computer devices, and storage media. Background Technology
[0002] In today's digital age, mobile applications have become an indispensable part of people's lives and work. The Android operating system, with its open-source nature and broad device compatibility, holds a significant share of the global smartphone market. As user needs constantly evolve and technology continues to develop, Android applications require frequent updates to provide new features, fix vulnerabilities, improve performance, and adapt to new device characteristics. However, updating Android applications faces numerous challenges.
[0003] Traditional app update functions typically employ two methods: in-app download and update, or in-app redirection to a designated app store for updates.
[0004] In-app update technology consumes a significant amount of bandwidth and puts a huge strain on server resources during file downloads. While incremental updates and breakpoint downloads have emerged as in-app upgrade methods, they still cannot significantly reduce the consumption of resources and bandwidth on proprietary file servers.
[0005] The in-app guide to a fixed app store update method involves redirecting the user to a specific app store with a fixed package name when an app update is detected. However, this method is not flexible enough, as the app store package name may change, or the phone may not have the corresponding app store installed, thus failing to achieve the correct update function. Summary of the Invention
[0006] To address the aforementioned technical problems, this invention provides an Android-based software upgrade method, employing the following technical solution:
[0007] S1, determine whether a software update request has been received;
[0008] S2, when a software update request is detected, determine whether the device to be upgraded supports app store upgrades;
[0009] S3. When it is identified that the device to be upgraded does not support application market upgrades, determine whether the device to be upgraded supports incremental updates and proceed to step S4. When it is identified that the device to be upgraded supports application market upgrades, proceed to step S7.
[0010] S4. When it is identified that the device to be upgraded supports incremental updates, start the breakpoint download of the incremental package and proceed to step S5. When it is identified that the device to be upgraded does not support incremental updates, start the breakpoint download of the full package and proceed to step S6.
[0011] S5. Once the incremental package is downloaded, perform an incremental update on the device to be upgraded and proceed to step S8.
[0012] S6. Once the full package is downloaded, perform a full update on the device to be upgraded and proceed to step S8.
[0013] S7, transmit the corresponding application market information and application market redirection adaptation rules to the device to be upgraded, and the application market redirects to the corresponding application market for update and upgrade, then proceed to step S8;
[0014] S8, determine whether the device to be upgraded has been upgraded; otherwise, proceed to step S1.
[0015] Preferably, step S1, determining whether a software update request has been received, specifically includes:
[0016] S11, periodically or as needed, sends requests to the software update server to check if a new software version is available;
[0017] S12, after receiving the response from the software update server, parse the data to determine if there is an available software update;
[0018] S13, if an update exists, display an update notification, including the update content, size, and estimated download time.
[0019] Preferably, step S2, when a software update request is detected, specifically includes the step of determining whether the device to be upgraded supports application market upgrades:
[0020] S21, obtain the model, system version, and hardware configuration information of the device to be upgraded;
[0021] S22, Check app store compatibility; Based on device information, check whether the current device supports software upgrades through the app store.
[0022] S23, the inspection results are fed back to the upgrade process management system.
[0023] Preferably, in step S3, when it is identified that the device to be upgraded does not support application market upgrades, it is determined whether the device to be upgraded supports incremental updates, and the process proceeds to step S4. When it is identified that the device to be upgraded supports application market upgrades, the process proceeds to step S7. The specific steps include:
[0024] S31. When it is identified that the device to be upgraded does not support application market upgrade, check whether the device to be upgraded meets the conditions for incremental update. The conditions for incremental update include storage space and network connection speed. Determine whether the device to be upgraded supports incremental update and proceed to step S4.
[0025] S32, when it is identified that the device to be upgraded supports application market upgrades, proceed to step S7.
[0026] Preferably, step S4, where if the device to be upgraded is identified as supporting incremental updates, then the incremental package is downloaded with breakpoints, proceeding to step S5; and if the device to be upgraded is identified as not supporting incremental updates, then the full package is downloaded with breakpoints, proceeding to step S6, specifically includes the following steps:
[0027] S41, when it is identified that the device to be upgraded supports incremental updates, the incremental package information is obtained, the interrupted resume transmission is initialized, the incremental package download task is started, and the process proceeds to step S5.
[0028] S42, when it is identified that the device to be upgraded does not support incremental updates, the full package information is obtained, the full package download task is started, and the process proceeds to step S6.
[0029] Preferably, in step S5, once the incremental package is downloaded, an incremental update is performed on the device to be upgraded, and the process proceeds to step S8, which specifically includes:
[0030] S51, Once the incremental package has finished downloading, verify the incremental package;
[0031] S52 decompresses the incremental package and merges it with the existing software of the device to be upgraded to generate a new software version;
[0032] S53, Reboot the device to apply the new software version, proceed to step S8.
[0033] Preferably, step S7, which involves transmitting the corresponding application market information and application market redirection adaptation rules to the device to be upgraded, redirecting the device to the corresponding application market for update and upgrade, and then proceeding to step S8, specifically includes:
[0034] S71 retrieves the corresponding app market information based on the information of the device to be upgraded. The app market information includes the app market name and URL.
[0035] S72 transmits the application market redirection adaptation rules to the device to be upgraded, ensuring that the device to be upgraded correctly redirects to the application market;
[0036] S73, the device to be upgraded will be redirected to the corresponding app store according to the adaptation rules and an update prompt will be displayed;
[0037] S74 guides users through the software update process in the app store.
[0038] To address the aforementioned technical problems, the present invention also provides an Android-based software upgrade device, which employs the following technical solution, including:
[0039] The update request judgment module is used to determine whether a software update request has been received.
[0040] The application market upgrade judgment module is supported, which is used to determine whether the device to be upgraded supports application market upgrades when a software update request is detected.
[0041] The incremental update judgment module is used to determine whether the device to be upgraded supports incremental updates when it is identified that the device to be upgraded does not support application market upgrades.
[0042] The breakpoint download module is used to start downloading the incremental package when the device to be upgraded is identified as supporting incremental updates, and to start downloading the full package when the device to be upgraded is identified as not supporting incremental updates.
[0043] The incremental update module is used to perform incremental updates on the device to be upgraded once the incremental package has been downloaded.
[0044] The full update module is used to perform a full update on the device to be upgraded once the full package has been downloaded.
[0045] The app store update module is used to transmit the corresponding app store information and app store redirection adaptation rules to the device to be upgraded, and the app store will redirect to the corresponding app store for update and upgrade.
[0046] The upgrade completion judgment module is used to determine whether the device to be upgraded has completed the upgrade.
[0047] To address the aforementioned technical problems, the present invention also provides a computer device that employs the technical solution described below, comprising a memory and a processor, wherein the memory stores computer-readable instructions, and the processor executes the computer-readable instructions to implement the steps of the above-described Android-based software upgrade method.
[0048] To address the aforementioned technical problems, the present invention also provides a computer-readable storage medium, which employs the technical solution described below. The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the aforementioned Android-based software upgrade method.
[0049] Compared with existing technologies, the present invention has the following advantages: developers only need to integrate this module into specific projects to quickly implement intelligent application update solutions, reducing workload and maintenance costs; it can better reduce the consumption and pressure of file server resources during application updates, greatly reduce server traffic and user traffic, and at the same time, it can flexibly configure the application market update scope and user group upgrade functions, which can be universally applied to all Android application update scenarios. Attached Figure Description
[0050] To more clearly illustrate the solutions in this invention, the accompanying drawings used in the description of the embodiments of this invention will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0051] Figure 1 This is a flowchart of an embodiment of the Android-based software upgrade method of the present invention;
[0052] Figure 2 This is a schematic diagram of an embodiment of the Android-based software upgrade device of the present invention;
[0053] Figure 3 This is a schematic diagram of another embodiment of the Android-based software upgrade device of the present invention;
[0054] Figure 4 This is a schematic diagram of the structure of an embodiment of the computer device of the present invention. Detailed Implementation
[0055] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains; the terminology used herein in the specification is for the purpose of describing particular embodiments only and is not intended to limit the invention; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings are used to distinguish different objects and not to describe a particular order.
[0056] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0057] To enable those skilled in the art to better understand the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings.
[0058] It should be noted that the Android-based software upgrade method provided in the embodiments of the present invention is generally executed by a server / terminal device, and correspondingly, the Android-based software upgrade device is generally located in the server / terminal device.
[0059] It should be understood that the number of terminal devices, networks, and servers is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be used.
[0060] Example 1
[0061] Please refer to Figure 1 The diagram illustrates a flowchart of an embodiment of the Android-based software upgrade method of the present invention. The Android-based software upgrade method includes the following steps:
[0062] Step S1: Determine whether a software update request has been received.
[0063] In this embodiment, the electronic device (e.g., a server / terminal device) running on the Android-based software upgrade method can receive Android-based software upgrade requests via wired or wireless connections. It should be noted that the aforementioned wireless connection methods may include, but are not limited to, 3G / 4G / 5G connections, WiFi connections, Bluetooth connections, WiMAXX connections, Zigbee connections, UWB (ultra-wideband) connections, and other currently known or future-developed wireless connection methods.
[0064] In this embodiment, step S1, determining whether a software update request has been received, may specifically include the following steps:
[0065] S11 periodically or as needed sends requests to the software update server to check if a new software version is available.
[0066] It can be configured to execute periodically (e.g., daily, weekly) or when triggered by an event (e.g., when a user manually checks for updates). Using the HTTP or HTTPS protocol, the client software sends a request to a pre-defined update server. This request may include the current software version number, operating system information, and hardware fingerprint, so that the server can provide a suitable update package.
[0067] S12, after receiving the response from the software update server, parse the data to determine if there is an available software update.
[0068] After receiving the request, the server parses the request data and compares it with the latest version information in the database or file system to determine if a new version is available.
[0069] S13, if an update exists, display an update notification, including the update content, size, and estimated download time.
[0070] If an update is available, the server will return a download link for the update package, version number, update description, and other information. Upon receiving the response, the client will decide whether to immediately download and install the new version, based on user settings (such as automatic update download or prompting for user confirmation).
[0071] Step S1 allows for regular or on-demand queries to ensure the device receives the latest software version information in a timely manner; it also displays update notifications to users, increasing transparency and allowing them to understand the content and importance of the updates; and it prepares for subsequent downloads and installations of updates by clearing storage space and configuring the network.
[0072] Step S2: When a software update request is detected, determine whether the device to be upgraded supports app store upgrades.
[0073] In this embodiment, step S2, when a software update request is detected, determining whether the device to be upgraded supports application market upgrades may further include the following steps:
[0074] S21, obtain the model, system version, and hardware configuration information of the device to be upgraded.
[0075] By connecting to device management software or IT systems, the detailed specifications and configuration information of the devices to be upgraded can be automatically obtained using the query functions of these tools.
[0076] S22 checks app store compatibility by verifying whether the device supports software upgrades via the app store based on the device information.
[0077] After obtaining the device model, operating system version, and app store version information in step S21, the device information is compared with the app store's compatibility list. The compatibility list can be obtained from the app store. The app store details the device models and operating system versions that support software upgrades. The comparison result directly determines whether the current device supports software upgrades through the app store.
[0078] S23, the inspection results are fed back to the upgrade process management system.
[0079] Step S2 allows for the acquisition of device information and compatibility checks, ensuring the accuracy of the upgrade method; avoiding upgrade failures or device malfunctions due to device incompatibility with application market upgrades; and enabling the selection of appropriate upgrade methods based on device support, thereby improving upgrade efficiency and success rate.
[0080] Step S3: If it is identified that the device to be upgraded does not support application market upgrades, then determine whether the device to be upgraded supports incremental updates and proceed to step S4. If it is identified that the device to be upgraded supports application market upgrades, proceed to step S7.
[0081] Incremental updates refer to generating differential patch files between the new and old versions, allowing users to download only the patch and merge it into the old version to complete the update, without having to download the full APK file.
[0082] In this embodiment, step S3, when it is identified that the device to be upgraded does not support application market upgrades, determines whether the device to be upgraded supports incremental updates, and proceeds to step S4. When it is identified that the device to be upgraded supports application market upgrades, proceeds to step S7, which may specifically include the following steps:
[0083] S31, when it is identified that the device to be upgraded does not support application market upgrade, check whether the device to be upgraded meets the conditions for incremental update. The conditions for incremental update include storage space and network connection speed. Determine whether the device to be upgraded supports incremental update and proceed to step S4.
[0084] Storage space is a crucial requirement for incremental updates. The device must have sufficient remaining storage space to accommodate the incremental update package. This can be checked using the device's built-in storage management tool or a third-party storage monitoring application. If storage space is insufficient, it needs to be cleaned up or expanded to meet the needs of incremental updates.
[0085] Network connection speed is also a key factor affecting the smooth progress of incremental updates. The device needs to be connected to a stable and sufficiently fast network to ensure that the incremental update package can be downloaded successfully. You can use a network speed test tool to assess the speed and stability of your current network connection. If the network connection is slow or unstable, it is recommended to optimize your network environment or choose an alternative update method.
[0086] Assuming sufficient storage space and network connection speed are met, it's crucial to determine if the device to be upgraded supports incremental updates. This involves checking the device's operating system version, hardware compatibility, and whether an incremental update policy exists for that device. Specific information regarding device support for incremental updates can be obtained by visiting the device manufacturer's official website.
[0087] S32, when it is identified that the device to be upgraded supports application market upgrades, proceed to step S7.
[0088] Step S3 first determines whether the device to be upgraded supports incremental updates. Since incremental updates only download and install the updated portion, they save more storage space and network traffic compared to full updates. Incremental updates usually have faster download speeds, reducing user waiting time and improving efficiency. Ensuring that the device can still complete the upgrade smoothly even with limited resources allows for compatibility considerations.
[0089] Step S4: When it is identified that the device to be upgraded supports incremental updates, start the breakpoint download of the incremental package and proceed to step S5. When it is identified that the device to be upgraded does not support incremental updates, start the breakpoint download of the full package and proceed to step S6.
[0090] In this embodiment, step S4, when it is identified that the device to be upgraded supports incremental updates, starts the breakpoint download of the incremental package and proceeds to step S5; when it is identified that the device to be upgraded does not support incremental updates, starts the breakpoint download of the full package and proceeds to step S6, may specifically include the following steps:
[0091] S41, when it is identified that the device to be upgraded supports incremental updates, the incremental package information is obtained, the interrupted resume transmission is initialized, the incremental package download task is started, and the process proceeds to step S5.
[0092] The incremental packet information includes, but is not limited to, the incremental packet's URL, size, and checksum. Based on the portion already downloaded by the device (if any), initialize the resume download function. Start the incremental packet download task, monitor the download progress, and handle any network fluctuations or interruptions.
[0093] S42, when it is identified that the device to be upgraded does not support incremental updates, the full package information is obtained, the full package download task is started, and the process proceeds to step S6.
[0094] The full download package information includes, but is not limited to, the full download package's URL, size, and verification code. Clear your device's storage space to ensure there is enough room to download the full package. Start the full download task, monitoring the download progress and addressing any network issues.
[0095] By employing step S4, the resume function ensures that downloads can continue after interruption, whether for incremental or full downloads, avoiding repeated downloads; it selects the appropriate package type based on device support to avoid unnecessary resource waste and optimize resources; and it monitors download progress in real time, providing a user-friendly interface to enhance the user experience.
[0096] Step S5: Once the incremental package is downloaded, perform an incremental update on the device to be upgraded, and proceed to step S8.
[0097] In this embodiment, step S5, after the incremental package is downloaded, performs an incremental update on the device to be upgraded, and proceeds to step S8, which may specifically include the following steps:
[0098] S51, Once the incremental package is downloaded, verify the incremental package.
[0099] Hash algorithms such as MD5 or SHA can be used to verify incremental packets. These algorithms generate hash values, or digital fingerprints, used to verify the integrity of files and whether they have been tampered with. By comparing the hash value calculated from the downloaded incremental packet with the provided hash value, it can be confirmed whether the file has been corrupted or tampered with during transmission.
[0100] Incremental packages can also include a digital signature, which is verified using public-key cryptography. This method requires downloading the corresponding public key file and using the public key to verify the digital signature of the incremental package. If the signature verification passes, it indicates that the incremental package has indeed been officially released and has not been tampered with by a third party.
[0101] S52 decompresses the incremental package and merges it with the existing software of the device to be upgraded to generate a new software version.
[0102] Once the incremental package is downloaded, it will be merged with the currently installed app. This can be done using methods such as JNI (Java Native Interface) to call native methods or using methods from the C library. The result is a completely new APK file containing all the features of the old version and all the updates made in the new version.
[0103] S53, Reboot the device to apply the new software version, proceed to step S8.
[0104] The merged new APK file needs to be reinstalled. Restart your device, then install the new APK file, and then proceed to step S8.
[0105] By employing step S5, the correctness of the incremental package is ensured through verification, avoiding update failures or device malfunctions; incremental updates only need to process the changed parts, reducing update time and resource consumption, and enabling efficient merging; restarting the device and verifying its functionality ensures that the updated device can operate normally, and real-time verification is possible.
[0106] Step S6: Once the full package is downloaded, perform a full update on the device to be upgraded, and proceed to step S8.
[0107] A full update refers to the process where users download a completely new version of an application or system installation package to replace the old version. This typically involves downloading a brand new file (such as an APK file for Android applications) containing all application components and resources to ensure users receive the latest features, improvements, and security updates.
[0108] In this embodiment, step S6, after the full package download is complete, performs a full update on the device to be upgraded, and proceeds to step S8, which may specifically include the following steps:
[0109] S61, verify the entire package.
[0110] Once the full package is downloaded, it should also be verified.
[0111] S62, install the full package.
[0112] Unzip the full package and overwrite the existing software on the device to complete the full update.
[0113] S63, the device to be upgraded needs to be restarted to verify the full package.
[0114] Similarly, restart the device to be upgraded and perform full package functionality verification.
[0115] By employing step S6, a full update ensures that the device software version remains consistent with the server, suitable for major version updates or initial device upgrades; by fully installing and overwriting the old software, potential compatibility issues are avoided; and a reboot verification is performed to ensure that the updated device can run stably in the new software environment.
[0116] Step S7: Transmit the corresponding application market information and application market redirection adaptation rules to the device to be upgraded. The device will then be redirected to the corresponding application market for update and upgrade. Proceed to step S8.
[0117] In this embodiment, step S7 involves transmitting the corresponding application market information and application market redirection adaptation rules to the device to be upgraded, redirecting the device to the corresponding application market for update and upgrade, and then proceeding to step S8, which may specifically include the following steps:
[0118] S71 retrieves the corresponding app market information based on the information of the device to be upgraded. The app market information includes the app market name and URL.
[0119] S72 transmits the application market redirection adaptation rules to the device to be upgraded, ensuring that the device to be upgraded correctly redirects to the application market.
[0120] S73, the device to be upgraded will be redirected to the corresponding app store according to the adaptation rules and an update prompt will be displayed.
[0121] S74 guides users through the software update process in the app store.
[0122] By adopting step S7, a unified update channel can be established, allowing updates to be made through the app store, ensuring that users can obtain official and secure software versions; compatibility can be enhanced, with compatibility rules ensuring that different devices can correctly jump to the corresponding app store, increasing the update success rate; and the user experience can be improved by providing update prompts and operation guidance in the app store, reducing the difficulty of operation for users and enhancing the user experience.
[0123] Step S8: Determine whether the device to be upgraded has been upgraded; otherwise, proceed to step S1.
[0124] In this embodiment, step S8, determining whether the device to be upgraded has been upgraded, otherwise proceeding to step S1, may specifically include the following steps:
[0125] S81, upgrade status query.
[0126] After the device restarts and runs stably, check the software version information to confirm whether the upgrade was successful.
[0127] S82, analyze upgrade logs.
[0128] Analyze the log files during the upgrade process to check for any anomalies or errors.
[0129] S83, feedback on upgrade results.
[0130] The upgrade results will be fed back to the upgrade process management system for further processing or statistics.
[0131] If the upgrade is not completed, return to step S1 to continue attempting the upgrade:
[0132] A retry mechanism can be set up. If the upgrade fails, appropriate measures will be taken based on the reason for the failure (such as network problems, insufficient storage space, etc.), and the upgrade will be attempted again.
[0133] It can also notify users of the reasons for the upgrade failure and possible solutions, guiding users to perform the necessary operations to complete the upgrade.
[0134] By adopting step S8, a successful upgrade can be ensured. Status queries and log analysis ensure that the device is successfully upgraded to the latest version. It can also be used for troubleshooting. If the upgrade fails, log analysis can quickly locate the cause of the problem and improve the efficiency of problem resolution. Furthermore, it can improve user satisfaction by enhancing user trust and satisfaction with the upgrade process through retry mechanisms and user notifications.
[0135] Compared with existing technologies, the beneficial effects of this embodiment are: developers only need to integrate this module into specific projects to quickly implement intelligent application update solutions, reducing workload and maintenance costs; it can better reduce the consumption and pressure of file server resources during application updates, greatly reduce server traffic and user traffic, and at the same time, it can flexibly configure the application market update scope and user group upgrade functions, which can be universally applied to all Android application update scenarios.
[0136] This invention can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This invention can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0137] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing related hardware with computer-readable instructions. These computer-readable instructions can be stored in a computer-readable storage medium. When executed, the program can include the processes of the embodiments of the above methods. The aforementioned storage medium can be a non-volatile storage medium such as a magnetic disk, optical disk, or read-only memory (ROM), or random access memory (RAM).
[0138] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0139] Example 2
[0140] Further reference Figure 2 As a response to the above Figure 1 The present invention provides an embodiment of an Android-based software upgrade device, which implements the method shown. Figure 1 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0141] like Figure 2 As shown, the Android-based software upgrade device 90 described in this embodiment includes: an update request judgment module 91, an application market upgrade support judgment module 92, an incremental update judgment module 93, a breakpoint download module 94, an incremental update module 95, a full update module 96, an application market update module 97, and an upgrade completion judgment module 98. Wherein:
[0142] The update request judgment module 91 is used to determine whether a software update request has been received.
[0143] The application market upgrade judgment module 92 is used to determine whether the device to be upgraded supports application market upgrades when a software update request is detected.
[0144] The incremental update judgment module 93 is used to determine whether the device to be upgraded supports incremental updates when it is identified that the device to be upgraded does not support application market upgrades.
[0145] The breakpoint download module 94 is used to start the breakpoint download of the incremental package when the device to be upgraded is identified as supporting incremental updates, and to start the breakpoint download of the full package when the device to be upgraded is identified as not supporting incremental updates.
[0146] The incremental update module 95 is used to perform incremental updates on the device to be upgraded once the incremental package has been downloaded.
[0147] The full update module 96 is used to perform a full update on the device to be upgraded once the full package has been downloaded.
[0148] The application market update module 97 is used to transmit the corresponding application market information and application market redirection adaptation rules to the device to be upgraded, and the application market redirects to the corresponding application market for update and upgrade.
[0149] The upgrade completion judgment module 98 is used to determine whether the device to be upgraded has completed the upgrade.
[0150] Compared with existing technologies, the beneficial effects of this embodiment are: developers only need to integrate this module into specific projects to quickly implement intelligent application update solutions, reducing workload and maintenance costs; it can better reduce the consumption and pressure of file server resources during application updates, greatly reduce server traffic and user traffic, and at the same time, it can flexibly configure the application market update scope and user group upgrade functions, which can be universally applied to all Android application update scenarios.
[0151] Example 3
[0152] Further reference Figure 3 As a response to the above Figure 1 The present invention provides another embodiment of an Android-based software upgrade device, which is similar to the method shown. Figure 1 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0153] like Figure 3 As shown, the Android-based software upgrade device described in this embodiment includes at least three core modules: an application upgrade platform, an application upgrade SDK, and an application market interaction module.
[0154] The main function of this embodiment is to solve the problems of huge consumption of file server resources and huge pressure on the file server during application updates and upgrades, as well as the inaccuracy and inflexibility of guiding fixed application upgrades, by closely cooperating the three core modules.
[0155] The application upgrade platform includes: an application market management module, an application version management module, and an update management module.
[0156] The application market management module includes an application market package name management module, a device identification management module, a package name and identification mapping management module, and an application market priority ranking management module.
[0157] The main functions of the application market management module include application market package name management, device identification management, package name and identification mapping management, and application market priority ranking management.
[0158] The app store management module maps configurable device identifiers to app store package names. When an app update activity is detected, it simultaneously retrieves the mapping table between app store package names and device brand identifiers from the app update platform. Using the local device brand identifier, it searches for and guides the user to the correct app store for downloading and upgrading. If multiple app stores exist on the device, it will perform adaptation processing from top to bottom according to the app store priority ranking table in the app update platform.
[0159] The main functions of the application version management module include: application market upgrade compatibility check module, incremental package mapping management module, and user group upgrade module.
[0160] The app store upgrade compatibility check module is used to check and manage whether each version supports app store upgrade functionality (minor iterations or minor versions upgraded by designated users will not be re-released in the app store).
[0161] The incremental package mapping management module is used to manage the incremental package relationships corresponding to a fixed application version.
[0162] The user segmentation upgrade module is used to divide users into different groups, and only a portion of these groups can be upgraded, which effectively describes the feature of distinguishing upgrade targets based on user attributes.
[0163] The added update management module mainly includes: incremental package generation module, version management module, and breakpoint resume module.
[0164] The incremental package generation module refers to the generation of an incremental package for each version corresponding to the previous version, which is used for incremental upgrades.
[0165] The version management module includes: version comparison, incremental package management, and full package management.
[0166] The breakpoint resume module is designed with data transmission technology that allows the file transfer to resume from the point of interruption after an interruption (such as due to network failure), without having to start the entire file transfer from the beginning again.
[0167] The application upgrade SDK consists of three core modules: version detection module, application market adaptation module, and in-application update module.
[0168] The version detection module is primarily used for application update checks and version comparisons. The application market adaptation module manages application market compatibility for the device, determining whether a corresponding mapped application market exists. The in-app update module initiates in-app updates when the device lacks a corresponding mapped application market or the version does not support application market updates. Its main functions include incremental package integration and breakpoint downloading.
[0169] The app store interaction module mainly includes the app store redirection regulation module and the app store redirection module.
[0170] The app store redirection regulation module is primarily responsible for formulating and regulating app redirection rules. These rules ensure the security and standardization of app redirection, preventing malicious redirection and abuse. By setting reasonable redirection rules, this module can protect user rights and improve the overall security of the app store.
[0171] The app store redirect module is the core component that actually performs the redirection operation. Based on the user's selection or preset instructions, it quickly and accurately redirects the user from the current app to the target app. This redirection transmits data and meets the user's needs in different application scenarios. For example, a user can directly jump to the corresponding payment app to complete the payment through a link in a shopping app.
[0172] The interaction module is responsible for interacting with the user, presenting relevant information and options for application navigation. It allows users to easily select the target application and obtain the necessary information. The design and optimization of the interaction module are crucial for improving the user experience, determining whether users can complete the navigation operation quickly and accurately.
[0173] These three modules work together to form the core functions of the app market interaction module, providing users with a convenient and secure app navigation experience.
[0174] Compared with existing technologies, the beneficial effects of this embodiment are: developers only need to integrate this module into specific projects to quickly implement intelligent application update solutions, reducing workload and maintenance costs; it can better reduce the consumption and pressure of file server resources during application updates, greatly reduce server traffic and user traffic, and at the same time, it can flexibly configure the application market update scope and user group upgrade functions, which can be universally applied to all Android application update scenarios.
[0175] Example 4
[0176] To address the aforementioned technical problems, embodiments of the present invention also provide a computer device. Please refer to [link / reference needed]. Figure 4 , Figure 4 This is a basic structural block diagram of the computer device in this embodiment.
[0177] The aforementioned computer device 10 includes a memory 101, a processor 102, and a network interface 103 that are interconnected via a system bus. It should be noted that the figure only shows a computer device 10 with components 101, 102, and 103; however, it should be understood that it is not required to implement all the components shown, and more or fewer components can be implemented alternatively. Those skilled in the art will understand that the computer device described here is a device capable of automatically performing numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.
[0178] The aforementioned computer devices can be desktop computers, laptops, handheld computers, and cloud servers, among other computing devices. These devices can facilitate human-computer interaction with users through keyboards, mice, remote controls, touchpads, or voice-activated devices.
[0179] The aforementioned memory 101 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the aforementioned memory 101 may be an internal storage unit of the aforementioned computer device 10, such as the hard disk or memory of the computer device 10. In other embodiments, the aforementioned memory 101 may also be an external storage device of the aforementioned computer device 10, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the computer device 10. Of course, the aforementioned memory 101 may also include both the internal storage unit and its external storage device of the aforementioned computer device 10. In this embodiment, the aforementioned memory 101 is typically used to store the operating system and various application software installed on the aforementioned computer device 10, such as computer-readable instructions for Android-based software upgrade methods. In addition, the aforementioned memory 101 can also be used to temporarily store various types of data that have been output or will be output.
[0180] In some embodiments, the processor 102 may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip. The processor 102 is typically used to control the overall operation of the computer device 10. In this embodiment, the processor 102 is used to execute computer-readable instructions stored in the memory 101 or to process data, for example, to execute computer-readable instructions for the Android-based software upgrade method.
[0181] The network interface 103 may include a wireless network interface or a wired network interface, which is typically used to establish a communication connection between the computer device 10 and other electronic devices.
[0182] Compared with existing technologies, the beneficial effects of this embodiment are: developers only need to integrate this module into specific projects to quickly implement intelligent application update solutions, reducing workload and maintenance costs; it can better reduce the consumption and pressure of file server resources during application updates, greatly reduce server traffic and user traffic, and at the same time, it can flexibly configure the application market update scope and user group upgrade functions, which can be universally applied to all Android application update scenarios.
[0183] Example 5
[0184] The present invention also provides another embodiment, namely, providing a computer-readable storage medium storing computer-readable instructions that can be executed by at least one processor to cause the at least one processor to perform the steps of the Android-based software upgrade method described above.
[0185] Compared with existing technologies, the beneficial effects of this embodiment are: developers only need to integrate this module into specific projects to quickly implement intelligent application update solutions, reducing workload and maintenance costs; it can better reduce the consumption and pressure of file server resources during application updates, greatly reduce server traffic and user traffic, and at the same time, it can flexibly configure the application market update scope and user group upgrade functions, which can be universally applied to all Android application update scenarios.
[0186] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods of the various embodiments of the present invention.
[0187] Obviously, the embodiments described above are merely some embodiments of the present invention, not all embodiments. The accompanying drawings show preferred embodiments of the present invention, but do not limit the patent scope of the present invention. The present invention can be implemented in many different forms; rather, these embodiments are provided to provide a more thorough and complete understanding of the disclosure of the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing specific embodiments, or make equivalent substitutions for some of the technical features. Any equivalent structures made using the content of this specification and drawings, directly or indirectly applied to other related technical fields, are similarly within the patent protection scope of this invention.
Claims
1. A software upgrade method based on Android, characterized in that, Includes the following steps: S1, determine whether a software update request has been received; S2, when a software update request is detected, determine whether the device to be upgraded supports app store upgrades; S3. When it is identified that the device to be upgraded does not support application market upgrades, determine whether the device to be upgraded supports incremental updates and proceed to step S4. When it is identified that the device to be upgraded supports application market upgrades, proceed to step S7. S4. When it is identified that the device to be upgraded supports incremental updates, start the breakpoint download of the incremental package and proceed to step S5. When it is identified that the device to be upgraded does not support incremental updates, start the breakpoint download of the full package and proceed to step S6. S5. Once the incremental package is downloaded, perform an incremental update on the device to be upgraded and proceed to step S8. S6. Once the full package is downloaded, perform a full update on the device to be upgraded and proceed to step S8. S7, transmit the corresponding application market information and application market redirection adaptation rules to the device to be upgraded, and the application market redirects to the corresponding application market for update and upgrade, then proceed to step S8; S8, determine whether the device to be upgraded has been upgraded; otherwise, proceed to step S1.
2. The Android-based software upgrade method according to claim 1, characterized in that, The step S1, determining whether a software update request has been received, specifically includes: S11, periodically or as needed, sends requests to the software update server to check if a new software version is available; S12, after receiving the response from the software update server, parse the data to determine if there is an available software update; S13, if an update exists, display an update notification, including the update content, size, and estimated download time.
3. The Android-based software upgrade method according to claim 1, characterized in that, S2, when a software update request is detected, specifically includes the step of determining whether the device to be upgraded supports application market upgrades: S21, obtain the model, system version, and hardware configuration information of the device to be upgraded; S22, Check app store compatibility; Based on device information, check whether the current device supports software upgrades through the app store. S23, the inspection results are fed back to the upgrade process management system.
4. The Android-based software upgrade method according to claim 1, characterized in that, In step S3, when it is identified that the device to be upgraded does not support application market upgrades, it is determined whether the device to be upgraded supports incremental updates, and then proceeds to step S4. When it is identified that the device to be upgraded supports application market upgrades, the specific steps of proceeding to step S7 include: S31. When it is identified that the device to be upgraded does not support application market upgrade, check whether the device to be upgraded meets the conditions for incremental update. The conditions for incremental update include storage space and network connection speed. Determine whether the device to be upgraded supports incremental update and proceed to step S4. S32, when it is identified that the device to be upgraded supports application market upgrades, proceed to step S7.
5. The Android-based software upgrade method according to claim 1, characterized in that, In step S4, when it is identified that the device to be upgraded supports incremental updates, the incremental package is downloaded with breakpoints, and the process proceeds to step S5. When it is identified that the device to be upgraded does not support incremental updates, the full package is downloaded with breakpoints, and the process proceeds to step S6. The specific steps include: S41, when it is identified that the device to be upgraded supports incremental updates, the incremental package information is obtained, the interrupted resume transmission is initialized, the incremental package download task is started, and the process proceeds to step S5. S42, when it is identified that the device to be upgraded does not support incremental updates, the full package information is obtained, the full package download task is started, and the process proceeds to step S6.
6. The Android-based software upgrade method according to claim 1, characterized in that, In step S5, once the incremental package download is complete, an incremental update is performed on the device to be upgraded, and the process proceeds to step S8, which specifically includes: S51, Once the incremental package has finished downloading, verify the incremental package; S52 decompresses the incremental package and merges it with the existing software of the device to be upgraded to generate a new software version; S53, Reboot the device to apply the new software version, proceed to step S8.
7. The Android-based software upgrade method according to any one of claims 1 to 6, characterized in that, In step S7, the corresponding application market information and application market redirection adaptation rules are transmitted to the device to be upgraded. The device then redirects to the corresponding application market for update and upgrade. The steps leading to step S8 specifically include: S71 retrieves the corresponding app market information based on the information of the device to be upgraded. The app market information includes the app market name and URL. S72 transmits the application market redirection adaptation rules to the device to be upgraded, ensuring that the device to be upgraded correctly redirects to the application market; S73, the device to be upgraded will be redirected to the corresponding app store according to the adaptation rules and an update prompt will be displayed; S74 guides users through the software update process in the app store.
8. A software upgrade device based on Android, characterized in that, include: The update request judgment module is used to determine whether a software update request has been received. The application market upgrade judgment module is supported, which is used to determine whether the device to be upgraded supports application market upgrades when a software update request is detected. The incremental update judgment module is used to determine whether the device to be upgraded supports incremental updates when it is identified that the device to be upgraded does not support application market upgrades. The breakpoint download module is used to start downloading the incremental package when the device to be upgraded is identified as supporting incremental updates, and to start downloading the full package when the device to be upgraded is identified as not supporting incremental updates. The incremental update module is used to perform incremental updates on the device to be upgraded once the incremental package has been downloaded. The full update module is used to perform a full update on the device to be upgraded once the full package has been downloaded. The app store update module is used to transmit the corresponding app store information and app store redirection adaptation rules to the device to be upgraded, and the app store will redirect to the corresponding app store for update and upgrade. The upgrade completion judgment module is used to determine whether the device to be upgraded has completed the upgrade.
9. A computer device comprising a memory and a processor, the memory storing computer-readable instructions, wherein the processor, when executing the computer-readable instructions, implements the steps of the Android-based software upgrade method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the Android-based software upgrade method as described in any one of claims 1 to 7.