Android equipment wireless upgrading method and device and storage medium

By obtaining device firmware information and pushing upgrade package information, analyzing the upgrade package and determining the appropriate upgrade method, the problem of lack of flexibility and security in the upgrade process in the existing OTA technology is solved, and an intelligent and personalized upgrade process is realized. Improved upgrade success rate and security.

CN119473340APending Publication Date: 2025-02-18SHENZHEN SEN5 TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411417991.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

The existing OTA technology lacks flexibility and security during the upgrade process, resulting in failure of equipment upgrades, wasted resources and reduced overall reliability.

Method used

By obtaining the device firmware information and pushing the upgrade package information, analyzing the upgrade package, determining the appropriate upgrade method, and displaying the upgrade prompts to be upgraded on the device, an intelligent and personalized upgrade process is realized.

Benefits of technology

It improves the upgrade success rate, reduces the risk of failure caused by incompatibility, enhances security, and optimizes the push upgrade mechanism, improving overall stability and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473340A_ABST
    Figure CN119473340A_ABST
Patent Text Reader

Abstract

The invention provides an Android device wireless upgrading method and device and a storage medium, and the method responds to push information, obtains firmware information of a device and push upgrade package information, analyzes a push upgrade package, downloads the push upgrade package after confirmation of analysis data, displays a to-be-upgraded prompt on the device, and upgrades the to-be-upgraded prompt on the device. And responding to the upgrade instruction to determine an upgrade mode used for the equipment based on the firmware information, so as to upgrade the equipment based on the upgrade mode by pushing the upgrade package, and after the upgrade is completed, enabling the equipment to report an upgrade result to optimize a push upgrade mechanism. According to the scheme provided by the invention, only the verified upgrading file is used, the equipment problem caused by wrong or incompatible upgrading is reduced, the upgrading process is more flexible and accurate, the optimal upgrading strategy can be selected according to the requirements of different equipment, unnecessary resource waste is avoided, and the upgrading efficiency is improved. And a pushing upgrading mechanism can be continuously optimized, so that the stability and the reliability are continuously improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of wireless firmware upgrade, and in particular relates to a method, device and storage medium for wireless upgrade of an Android device. Background Art

[0002] With the popularization of smart devices, especially the rapid development of Android devices, users' demand for device upgrades is increasing. Currently, the firmware upgrade method used by many Android devices mainly relies on OTA (Over-the-Air) technology, which allows devices to upgrade their systems via wireless networks, greatly improving user convenience.

[0003] However, traditional OTA technology has shortcomings in many aspects. Existing GOTA technology is usually closed-source, which means that developers cannot access its source code or make necessary customizations and extensions. As a result, there is a lack of upgrade solutions for non-standard Android devices such as third-party boxes and AOSP systems. Once an upgrade problem occurs, such as compatibility errors or file corruption, developers will not be able to repair or adjust the upgrade strategy in time, which may cause the device to not work properly and affect the user experience.

[0004] In addition, current OTA solutions lack flexibility and are relatively weak in verifying upgrade files, which often leads to wasted resources and unnecessary download time. Moreover, if the upgrade package is not strictly verified, it is likely to cause device failure, thereby reducing overall reliability and stability. Summary of the invention

[0005] In order to overcome the defects of the prior art, the present invention proposes a method for wireless upgrading of an Android device, the method comprising:

[0006] In response to the push information, obtain the device's firmware information and push upgrade package information;

[0007] Parsing the push upgrade package, downloading the push upgrade package after confirming the parsed data, and displaying a prompt to be upgraded on the device;

[0008] In response to the upgrade instruction, determine an upgrade method to be used for the device based on the firmware information, so as to upgrade the device based on the upgrade method by pushing the upgrade package;

[0009] After the upgrade is completed, the device is made to report the upgrade result to optimize the push upgrade mechanism.

[0010] Specifically, the “parsing the push upgrade package to download the push upgrade package after confirming the parsed data” includes:

[0011] Parsing and analyzing the attributes of the firmware information in the push upgrade package;

[0012] If the analysis result meets the preset conditions, the confirmation of the parsed data is completed, and the device is made to download and push the upgrade package.

[0013] Specifically, the firmware information includes the device name, update methods supported by the device, system fingerprint, system version, Android version, and system release time;

[0014] The analysis includes device compatibility, version number, version adaptability, timestamp, security, user configuration and preferences.

[0015] Preferably, the method further comprises:

[0016] Determine whether a local upgrade package exists locally on the device, and if so, parse the local upgrade package;

[0017] If it is determined based on the parsed data of the local upgrade package and the parsed data of the pushed upgrade package that the version of the local upgrade package is not lower than that of the pushed upgrade package, confirming the parsed data of the local upgrade package;

[0018] If the parsed data of the local upgrade package is confirmed, the step of "downloading the push upgrade package and displaying an upgrade prompt on the device" is skipped, and the upgrade prompt is displayed on the device based on the local upgrade package.

[0019] Specifically, the “enabling the device to report the upgrade result to optimize the push upgrade mechanism” includes:

[0020] Enable the device to report an upgrade result, and store the upgrade result as historical upgrade data;

[0021] If a new push upgrade package is obtained, the upgrade success probability of each device is analyzed based on the historical upgrade data of each device, so as to determine the time to send push information to each device based on the upgrade success probability of each device.

[0022] Furthermore, the “determining the time of sending the push information to each of the devices based on the upgrade success probability of each of the devices” includes:

[0023] The devices are divided into several groups based on the upgrade success probability of each device, and the time for sending push information to the devices in each group is determined respectively; the time for sending push information to the devices in the group with higher upgrade success probability is determined to be earlier.

[0024] Specifically, the “determining an upgrade method to be used for the device based on the firmware information” includes:

[0025] Determining a system version of the device based on the firmware information;

[0026] If the system version is not lower than the preset version, it is determined that the upgrade method used for the device is the first upgrade method; otherwise, it is determined that the upgrade method used for the device is the second upgrade method.

[0027] Preferably, the first upgrade mode includes AB upgrade, and the second upgrade mode includes recovery upgrade.

[0028] The present invention also proposes a wireless upgrade device for an Android device, the device comprising:

[0029] The acquisition module is used to respond to push information, obtain device firmware information and push upgrade package information;

[0030] A parsing module, used to parse the push upgrade package, download the push upgrade package after completing the confirmation of the parsed data, and display a prompt to be upgraded on the device;

[0031] An upgrade module, configured to respond to an upgrade instruction and determine an upgrade method to be used for the device based on the firmware information, so as to upgrade the device based on the upgrade method by pushing the upgrade package;

[0032] The reporting module is used to enable the device to report the upgrade result after the upgrade is completed to optimize the push upgrade mechanism.

[0033] The present invention also proposes a computer-readable storage medium on which computer instructions are stored. When the instructions are executed by a processor, the steps of the method for wireless upgrading an Android device as described above are implemented.

[0034] The present invention has at least the following beneficial effects:

[0035] The solution proposed in the present invention supports multiple upgrade methods and customized updates at the same time. The upgrade method can be determined based on the device firmware information, making the upgrade process more intelligent and personalized, ensuring that each device can obtain the most suitable upgrade solution, thereby reducing the risk of failure due to incompatibility, having high security and improving the upgrade success rate. It can also collect upgrade feedback information, thereby further optimizing the upgrade push strategy and improving the efficiency and success rate of future upgrades.

[0036] Furthermore, the solution proposed in the present invention can achieve the effect of effectively utilizing existing resources by judging whether there is a local upgrade package in the local device, and will complete the confirmation of the parsed data before downloading, thereby avoiding unnecessary downloads, saving bandwidth and time, reducing device burden and network traffic, and ensuring the compatibility of the pushed upgrade package with the device through detailed analysis of firmware information, reducing the risk of upgrade failure, and realizing security assessment at the same time, selecting the appropriate upgrade method according to the system version, and providing more flexible solutions for the needs of different devices, reducing the possibility of upgrade failure;

[0037] In addition, the solution proposed in the present invention can provide a reference for future upgrades by recording historical upgrade data, improve the pertinence and effectiveness of the push strategy, and group devices according to the probability of successful upgrade, which helps to intelligently select the time to send push information and improve the overall upgrade efficiency, especially for devices with a high probability of success, which can be pushed faster.

[0038] Therefore, the present invention provides a method, apparatus and storage medium for wireless upgrading of Android devices. The scheme proposed in the present invention can ensure that only verified upgrade files are used, reduce device problems caused by erroneous or incompatible upgrades, make the upgrading process more flexible and accurate, and can select the best upgrading strategy according to the needs of different devices, avoid unnecessary waste of resources, and continuously optimize the push upgrade mechanism, thereby continuously improving stability and reliability. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0040] Figure 1 A schematic diagram of a method flow of a wireless upgrade method for an Android device provided in Example 1;

[0041] Figure 2 The overall flow chart of the method for wireless upgrading of an Android device provided in Example 1;

[0042] Figure 3 This is a schematic diagram for selecting an upgrade method;

[0043] Figure 4 A flowchart of a method for parsing an upgrade package;

[0044] Figure 5 A flowchart of a method for optimizing the push upgrade mechanism;

[0045] Figure 6 This is a schematic diagram of the module structure of the Android device wireless upgrade device provided in Example 2.

[0046] Reference numerals

[0047] 10 - acquisition module; 20 - parsing module; 21 - analysis unit; 22 - confirmation unit; 30 - upgrade module; 40 - reporting module; 41 - storage unit; 42 - optimization unit. DETAILED DESCRIPTION

[0048] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments 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 creative work are within the scope of protection of the present invention.

[0049] Hereinafter, various embodiments of the present invention will be described more fully. The present invention may have various embodiments, and adjustments and changes may be made therein. However, it should be understood that there is no intention to limit the various embodiments of the present invention to the specific embodiments disclosed herein, but the present invention should be understood to cover all adjustments, equivalents and / or alternatives falling within the spirit and scope of the various embodiments of the present invention.

[0050] Hereinafter, the term "include" or "may include" used in various embodiments of the present invention indicates the presence of disclosed functions, operations or elements, and does not limit the addition of one or more functions, operations or elements. In addition, as used in various embodiments of the present invention, the terms "include", "have" and their cognates are intended only to indicate specific features, numbers, steps, operations, elements, components or combinations of the foregoing items, and should not be understood as first excluding the presence of one or more other features, numbers, steps, operations, elements, components or combinations of the foregoing items or the possibility of adding one or more features, numbers, steps, operations, elements, components or combinations of the foregoing items.

[0051] In various embodiments of the present invention, the expression "or" or "at least one of A or / and B" includes any combination or all combinations of the words listed at the same time. For example, the expression "A or B" or "at least one of A or / and B" may include A, may include B, or may include both A and B.

[0052] The expressions (such as "first", "second", etc.) used in various embodiments of the present invention may modify the various constituent elements in various embodiments, but may not limit the corresponding constituent elements. For example, the above expressions do not limit the order and / or importance of the elements. The above expressions are only used for the purpose of distinguishing an element from other elements. For example, the first user device and the second user device indicate different user devices, although both are user devices. For example, without departing from the scope of various embodiments of the present invention, the first element may be referred to as the second element, and similarly, the second element may also be referred to as the first element.

[0053] It should be noted that in the present invention, unless otherwise clearly specified and defined, the terms such as "installation", "connection", "fixation" and the like should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0054] In the present invention, those skilled in the art need to understand that the terms indicating orientation or positional relationship herein are based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention.

[0055] The terms used in various embodiments of the present invention are only used for the purpose of describing specific embodiments and are not intended to limit various embodiments of the present invention. As used herein, the singular form is intended to also include the plural form, unless the context clearly indicates otherwise. Unless otherwise limited, all terms used here (including technical terms and scientific terms) have the same meaning as the meaning generally understood by those of ordinary skill in the art to which the various embodiments of the present invention belong. The terms (such as the terms defined in the dictionary generally used) will be interpreted as having the same meaning as the contextual meaning in the relevant technical field and will not be interpreted as having an idealized meaning or an overly formal meaning, unless clearly defined in various embodiments of the present invention.

[0056] Example 1

[0057] This embodiment proposes a method for wireless upgrading of an Android device. The wireless upgrading method proposed in this embodiment supports upgrading of the Android system. Each step in the upgrading process is controllable, with high security and good compatibility. It also supports multiple upgrading methods with high flexibility and can meet customized requirements to achieve customized updates. Figure 1-5, the method specifically comprises:

[0058] S100: In response to the push information, obtain the device's firmware information and push upgrade package information.

[0059] In this embodiment, the firmware information of the device that needs to be obtained may include but is not limited to the device name (Build.DEVICE), the update method supported by the device (such as [ro.boot.slot_suffix]:[_a]), the system fingerprint (ro.build.fingerprint), the system version (Build.VERSION.INCREMENTAL), the Android version (Build.VERSION.SDK_INT), and the system release time (Build.TIME / 1000).

[0060] S200: Parse the push upgrade package, download the push upgrade package after confirming the parsed data, and display an upgrade prompt on the device.

[0061] S300: In response to the upgrade instruction, determine an upgrade method to be used for the device based on the firmware information, so as to upgrade the device based on the upgrade method by pushing an upgrade package.

[0062] In this embodiment, a unified upgrade entry is encapsulated for different upgrade methods, so as to be compatible with OTA upgrades of different Android versions. Specifically, if the system version of the Android device is a preset version or higher, the upgrade method used for the device is determined to be the first upgrade method, otherwise the upgrade method used for the device is determined to be the second upgrade method, and the corresponding system API is selected after the upgrade method is determined; preferably, the preset version is Android 9;

[0063] It should be noted that although the underlying system installation uses the system API, in the method proposed in this embodiment, whether the upper layer is updated, downloaded, or installed can be controlled by corresponding code logic;

[0064] Exemplarily, taking the decision of whether to update as an example, the method proposed in this embodiment can negotiate update rules with the server, which may include but are not limited to specifying tenant upgrades (for example, specifying devices with specific tenant numbers to upgrade), specifying upgrade time upgrades (for example, specifying a preset time period to detect available upgrades), specifying upgrade version upgrades (for example, specifying a version between the first version and the second version that is allowed to be upgraded), and implementing Android system downgrades with a system-customized OTA installation package; in a specific embodiment, the method proposed in this embodiment also supports burning the device system into a Linux device through Android OTA;

[0065] Furthermore, the method proposed in this embodiment can select silent upgrade or normal upgrade, wherein the user is unaware of the silent upgrade process, and the device can automatically complete the detection, download, and installation work. It can also give the user a selection pop-up box before downloading and installing the update, allowing the user to decide whether to install it immediately, and at the same time prompt the user with possible risks. For example, after the upgrade is completed, the device may need to be restarted for the upgrade to take effect.

[0066] Optionally, the first upgrade mode includes AB upgrade, and the second upgrade mode includes recovery upgrade;

[0067] It should be noted that AB upgrade is an Android system update mechanism, which is mainly used to enhance the reliability and availability of devices. "AB" refers to the two partitions A and B. The system is installed and updated alternately in the two partitions AB. When the device is started, it usually uses one partition in AB. Users can always run the system on this partition, while the other partition is used to install updates. During the update process, the system will install the new version to the unused partition and switch to this partition at the next startup. If there is a problem with the new version, the system can roll back to the old partition to restore to the previous stable state, thereby avoiding system unavailability due to update failure.

[0068] Recovery Update uses an installation and update method based on android.os.RecoverySystem. This upgrade method usually performs firmware installation and updates by entering recovery mode, allowing users to update the system without starting the main operating system.

[0069] Specifically, when the device needs to be upgraded OTA, it first obtains its own device properties, supported upgrade methods and other firmware information, and then encapsulates fingerprint, buildVersion and other information into parameters to request the server to check whether there is an available upgrade; if the server returns the upgrade package information, the upgrade package information is verified. If the upgrade package is incorrect, the device can directly report the cause of the error and refuse to upgrade. After the upgrade package information is verified, the upgrade package can be downloaded from the server, and the md5 value of the upgrade package file can be verified after the download is complete to check the file integrity. After the file integrity check is passed, it is installed, and after the installation is complete, the user is prompted that the system update has been installed.

[0070] Optionally, if the upgrade fails, step S300 may change the upgrade method used for the device and perform the upgrade again.

[0071] Preferably, the method proposed in this embodiment can implement customized updates in combination with the system in the steps of verifying the upgrade package, downloading the upgrade package, installing the upgrade package, and restarting; exemplarily, during the stage of verifying the upgrade package, this method can allow boxes of specified models to use independent verification channels so as not to conflict with the normal upgrade process.

[0072] S400: After the upgrade is completed, the device reports the upgrade result to optimize the push upgrade mechanism.

[0073] Furthermore, after the upgrade is completed, step S400 prompts the user to restart the system to make the upgrade effective, and after the upgrade takes effect, the device reports the upgrade result.

[0074] It should be noted that the structure of the push upgrade package is generally fixed, and different push upgrade packages will only have slightly different fields. In the method proposed in this embodiment, the "parsing the push upgrade package to download the push upgrade package after confirming the parsed data" in step S200 specifically includes:

[0075] S210: Parse and analyze the attributes of the corresponding firmware information in the push upgrade package.

[0076] Specifically, the analysis content may include but is not limited to device compatibility, version number, version adaptability, timestamp, security, user configuration and preference settings.

[0077] S220: If the analysis result meets the preset conditions, the parsed data is confirmed, and the device is prompted to download and push the upgrade package.

[0078] For example, when the analysis content includes device compatibility, it can be checked whether the name of the current device (Build.DEVICE) is consistent with the device name specified in the push upgrade package, and whether the update method supported by the device (such as [ro.boot.slot_suffix]) is consistent with the update method required by the push upgrade package. If the name of the current device is inconsistent with the device name specified in the push upgrade package or the update method supported by the device is inconsistent with the update method required by the push upgrade package, it can be determined that the analysis result meets the non-preset conditions;

[0079] When the analysis content includes the version number, the system fingerprint of the current device can be compared with the fingerprint in the push upgrade package to determine whether there are known compatibility issues, and the current firmware version (Build.VERSION.INCREMENTAL) can be compared with the version of the push upgrade package to ensure the validity and necessity of the new version. If there are known compatibility issues or the new version is not valid and necessary, the analysis result can be judged to meet the non-preset conditions;

[0080] When the analysis content includes version compatibility, it can be determined whether the Android version (Build.VERSION.SDK_INT) of the current device matches the minimum version required to push the upgrade package. If not, incompatibility issues may occur due to the version being too low. Therefore, it can be determined that the analysis result meets the non-preset conditions.

[0081] When the analysis content includes timestamps, you can check the current system release time (Build.TIME / 1000) and the push upgrade package release time to ensure that the push upgrade package is a newer version. If the push upgrade package release time is not later than the current system release time, it can be determined that the analysis result meets the non-preset conditions.

[0082] Therefore, the method proposed in this embodiment can decide whether to intercept or release the upgrade request based on the compatibility of the device and the pushed upgrade package. By judging the compatibility of the pushed upgrade package, invalid download and installation processes are avoided, thereby effectively improving the upgrade success rate and reducing invalid download traffic consumption, shortening the overall upgrade time.

[0083] In another embodiment, the device firmware information obtained in step S100 also includes whether there is a local upgrade package on the device and the parsed data of the local upgrade package of the device. If there is a push upgrade package on the device, and it is determined based on the parsed data of the local upgrade package and the push upgrade package that the version of the local upgrade package is not lower than the push upgrade package, the parsed data of the local upgrade package is confirmed. If the parsed data of the local upgrade package is confirmed, the step of "downloading the push upgrade package and displaying a prompt to be upgraded on the device" is skipped, and a prompt to be upgraded is displayed on the device based on the local upgrade package.

[0084] Specifically, "enabling the device to report the upgrade result to optimize the push upgrade mechanism" in step S400 specifically includes:

[0085] S410: Enable the device to report the upgrade result, and store the upgrade result as historical upgrade data.

[0086] S420: If a new push upgrade package is obtained, the upgrade success probability of each device is analyzed based on the historical upgrade data of each device, so as to determine the time to send push information to each device based on the upgrade success probability of each device.

[0087] Specifically, step S420 may divide each device into several groups based on the probability of successful upgrade of each device, and determine the time for sending the push information in each group; preferably, the time for sending the push information determined by the device in the group with a higher probability of successful upgrade is earlier;

[0088] Exemplarily, when step S420 divides the probability of successful upgrading into three groups, namely, 0%-33%, 33%-67%, and 67%-100%, the time for sending push information to devices belonging to the 67%-100% group can be determined as the first time, the time for sending push information to devices belonging to the 33%-67% group can be determined as the second time, and the time for sending push information to devices belonging to the 0%-33% group can be determined as the third time; wherein, the first time is earlier than the second time, and the second time is earlier than the third time.

[0089] Therefore, after the device with a higher probability of successful upgrade executes the upgrade process, the method proposed in this embodiment can collect the upgrade results to optimize the upgrade process, thereby improving the success probability of subsequent non-upgraded devices.

[0090] Example 2

[0091] This embodiment proposes an Android device wireless upgrade device, which is used to implement the method proposed in Embodiment 1. Figure 6 , the device comprises:

[0092] The acquisition module 10 is used to respond to the push information, obtain the device's firmware information and push the upgrade package information;

[0093] The parsing module 20 is used to parse the push upgrade package, download the push upgrade package after confirming the parsed data, and display a prompt to be upgraded on the device;

[0094] The upgrade module 30 is used to respond to the upgrade instruction and determine the upgrade method used for the device based on the firmware information, so as to upgrade the device based on the upgrade method by pushing the upgrade package;

[0095] The reporting module 40 is used to enable the device to report the upgrade result after the upgrade is completed to optimize the push upgrade mechanism.

[0096] In this embodiment, the firmware information of the device that the acquisition module needs to acquire may include but is not limited to the device name (Build.DEVICE), the update method supported by the device (such as [ro.boot.slot_suffix]:[_a]), the system fingerprint (ro.build.fingerprint), the system version (Build.VERSION.INCREMENTAL), the Android version (Build.VERSION.SDK_INT), and the system release time (Build.TIME / 1000);

[0097] Specifically, the device proposed in this embodiment can be compatible with OTA upgrades of different Android versions. If the system version of the Android device is a preset version or higher, the upgrade module 30 determines that the upgrade method used for the device is the first upgrade method. Otherwise, the upgrade module 30 determines that the upgrade method used for the device is the second upgrade method, and selects the corresponding system API after determining the upgrade method; preferably, the preset version is Android9.

[0098] Optionally, the first upgrade mode includes AB upgrade, and the second upgrade mode includes recovery upgrade.

[0099] Furthermore, after the upgrade is completed, the reporting module 40 may prompt the user to restart the system to make the upgrade effective, and after the upgrade takes effect, the device may report the upgrade result.

[0100] Specifically, the parsing module 20 includes:

[0101] An analysis unit 21 is used to parse and analyze the attributes of the corresponding firmware information in the push upgrade package;

[0102] The confirmation unit 22 is used to complete the confirmation of the parsed data when the analysis result meets the preset conditions, so that the device downloads and pushes the upgrade package.

[0103] Specifically, the analysis content of the analysis unit 21 may include, but is not limited to, device compatibility, version number, version adaptability, timestamp, security, user configuration, and preference settings;

[0104] Exemplarily, when the analysis content includes device compatibility, the confirmation unit 22 may check whether the name of the current device (Build.DEVICE) is consistent with the device name specified in the push upgrade package, and verify whether the update method supported by the device (such as [ro.boot.slot_suffix]) is consistent with the update method required by the push upgrade package. If the name of the current device is inconsistent with the device name specified in the push upgrade package or the update method supported by the device is inconsistent with the update method required by the push upgrade package, it can be determined that the analysis result meets the non-preset condition;

[0105] When the analysis content includes the version number, the confirmation unit 22 can compare the system fingerprint of the current device with the fingerprint in the push upgrade package to determine whether there is a known compatibility problem, and compare the current firmware version (Build.VERSION.INCREMENTAL) with the version of the push upgrade package to ensure the validity and necessity of the new version. If there is a known compatibility problem or the new version is not valid and necessary, it can be determined that the analysis result meets the non-preset condition;

[0106] When the analysis content includes version compatibility, the confirmation unit 22 can determine whether the Android version (Build.VERSION.SDK_INT) of the current device matches the minimum version required to push the upgrade package. If not, an incompatibility problem may occur due to the version being too low, so it can be determined that the analysis result meets the non-preset condition;

[0107] When the analysis content includes a timestamp, the confirmation unit 22 can check the current system release time (Build.TIME / 1000) and the push upgrade package release time to ensure that the push upgrade package is a newer version. If the push upgrade package release time is not later than the current system release time, it can be judged that the analysis result meets the non-preset conditions.

[0108] In another embodiment, the device firmware information acquired by the acquisition module 10 also includes whether there is a local upgrade package locally on the device and the parsed data of the local upgrade package of the device. If there is a push upgrade package locally on the device, and based on the parsed data of the local upgrade package of the device and the push upgrade package, it is determined that the version of the local upgrade package is not lower than the push upgrade package, the parsed data of the local upgrade package is confirmed. If the parsed data of the local upgrade package is confirmed, the parsing module 20 can skip the step of "downloading the push upgrade package and displaying a prompt to be upgraded on the device", and display a prompt to be upgraded on the device based on the local upgrade package.

[0109] Specifically, the reporting module 40 includes:

[0110] The storage unit 41 is used to enable the device to report the upgrade result and store the upgrade result as historical upgrade data;

[0111] The optimization unit 42 is used to analyze the upgrade success probability of each device based on the historical upgrade data of each device when a new push upgrade package is obtained, so as to determine the time to send push information to each device based on the upgrade success probability of each device.

[0112] Specifically, the optimization unit 42 may divide each device into several groups based on the upgrade success probability of each device, and determine the time to send push information in each group; preferably, the devices in the group with a higher upgrade success probability determine the time to send push information earlier.

[0113] Example 3

[0114] The embodiments of this specification also provide a computer-readable storage medium on which computer instructions are stored. When the instructions are executed by a processor, the steps of the method proposed in the above embodiment 1 are implemented.

[0115] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0116] In summary, the present invention provides a method, device and storage medium for wireless upgrading of Android devices. The scheme proposed in the present invention can ensure that only verified upgrade files are used, reduce device problems caused by erroneous or incompatible upgrades, and make the upgrade process more flexible and accurate. The best upgrade strategy can be selected according to the needs of different devices to avoid unnecessary waste of resources, and the push upgrade mechanism can be continuously optimized to continuously improve stability and reliability.

[0117] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for wireless upgrading of an Android device, characterized in that: The method comprises: In response to the push information, obtain the device's firmware information and push upgrade package information; Parsing the push upgrade package, downloading the push upgrade package after confirming the parsed data, and displaying a prompt to be upgraded on the device; In response to the upgrade instruction, determine an upgrade method to be used for the device based on the firmware information, so as to upgrade the device based on the upgrade method by pushing the upgrade package; After the upgrade is completed, the device is made to report the upgrade result to optimize the push upgrade mechanism.

2. The method according to claim 1, characterized in that: The “parsing the push upgrade package to download the push upgrade package after confirming the parsed data” includes: Parsing and analyzing the attributes of the firmware information in the push upgrade package; If the analysis result meets the preset conditions, the confirmation of the parsed data is completed, and the device is made to download and push the upgrade package.

3. The method according to claim 2, characterized in that The firmware information includes the device name, update methods supported by the device, system fingerprint, system version, Android version, and system release time; The analysis includes device compatibility, version number, version adaptability, timestamp, security, user configuration and preferences.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: Determine whether a local upgrade package exists locally on the device, and if so, parse the local upgrade package; If it is determined based on the parsed data of the local upgrade package and the parsed data of the pushed upgrade package that the version of the local upgrade package is not lower than that of the pushed upgrade package, confirming the parsed data of the local upgrade package; If the confirmation of the parsed data of the local upgrade package is completed, the step of "downloading the push upgrade package and displaying a prompt to be upgraded on the device" is skipped, and a prompt to be upgraded is displayed on the device based on the local upgrade package.

5. The method according to claim 1, characterized in that The “enabling the device to report the upgrade result to optimize the push upgrade mechanism” includes: Enable the device to report an upgrade result, and store the upgrade result as historical upgrade data; If a new push upgrade package is obtained, the upgrade success probability of each device is analyzed based on the historical upgrade data of each device, so as to determine the time to send push information to each device based on the upgrade success probability of each device.

6. The method according to claim 5, characterized in that The “determining the time to send push information to each of the devices based on the upgrade success probability of each of the devices” includes: The devices are divided into several groups based on the upgrade success probability of each device, and the time for sending push information to the devices in each group is determined respectively; the time for sending push information to the devices in the group with higher upgrade success probability is determined to be earlier.

7. The method according to claim 1, characterized in that The “determining the upgrade method used for the device based on the firmware information” includes: Determining a system version of the device based on the firmware information; If the system version is not lower than the preset version, it is determined that the upgrade method used for the device is the first upgrade method; otherwise, it is determined that the upgrade method used for the device is the second upgrade method.

8. The method according to claim 7, characterized in that The first upgrade mode includes AB upgrade, and the second upgrade mode includes recovery upgrade.

9. A wireless upgrade device for an Android device, characterized in that: The device comprises: The acquisition module is used to respond to push information, obtain device firmware information and push upgrade package information; A parsing module, used to parse the push upgrade package, download the push upgrade package after completing the confirmation of the parsed data, and display a prompt to be upgraded on the device; An upgrade module, configured to respond to an upgrade instruction and determine an upgrade method to be used for the device based on the firmware information, so as to upgrade the device based on the upgrade method by pushing the upgrade package; The reporting module is used to enable the device to report the upgrade result after the upgrade is completed to optimize the push upgrade mechanism.

10. A computer-readable storage medium, characterized in that: Computer instructions are stored thereon, and when the instructions are executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.