Android OTA Update Method with Single Reboot and Power Failure Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating Android operating systems on handheld devices require multiple reboots and are inefficient, especially when dealing with multiple versions and power failure recovery, affecting user experience and system security.
Innovation Solution
An over-the-air update method that allows multiple update packages to be transmitted and installed in a single reboot, using a command document with update commands arrayed in a front-to-back sequence, and includes mechanisms for power failure recovery by processing commands from the last completed row.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple delta packages are released for every version to match user devices, then all users can receive updates, but the update server management and compilation complexity increases significantly
Solution Approach 1:
The update process is segmented into two phases: first, all delta packages are downloaded and stored in the cache directory during the first reboot; second, the system applies updates sequentially from the cached packages across multiple reboots. This segmentation allows the server to provide comprehensive update packages without requiring complex version-matching logic, as the client handles the segmentation and sequential application of updates.
Solution Approach 2:
The system performs preliminary actions by downloading and caching all necessary delta packages before the update process begins. The first reboot phase is dedicated to downloading and storing all update packages in advance, so that subsequent reboots can simply apply the pre-prepared updates without requiring real-time version matching or complex server-side compilation management.
2Reliability
If progressive updates are applied one version at a time with reboot after each update, then system stability is maintained, but user experience deteriorates due to multiple reboots
Solution Approach 1:
The update process achieves continuity by separating the download phase from the application phase. During the first reboot, all delta packages are downloaded and cached continuously without interruption. Then, subsequent reboots apply updates in sequence without needing to re-download or re-verify packages, maintaining continuous update progression while reducing total update time and minimizing user disruption.
Solution Approach 2:
All update packages are preliminarily downloaded and cached in the first reboot phase before any actual system updates are applied. This preliminary action prepares all necessary update files in advance, so that subsequent reboots can quickly apply updates without prolonged download times, thereby reducing total update time while maintaining system stability through controlled sequential application.
3Measurement precision
If update commands are transmitted through command document with strict specifications, then command identification accuracy is ensured, but system flexibility and security are compromised
Solution Approach 1:
The command document serves as an intermediary between the update server and the Recovery mode system. It uses a standardized format with clear delimiters (##BEGIN## and ##END##) and structured fields (update_package, update_type, version_name) that ensure accurate command identification while maintaining security through verified syntax. The intermediary format allows flexible update operations without compromising system security, as long as the document adheres to the specified structure.
4Reliability
If the Recovery mode reboots once for each update package installation, then each update can be verified, but the update operation and factory reset can only be executed once per reboot cycle
Solution Approach 1:
The update process becomes dynamic by allowing multiple update packages to be applied across multiple reboot cycles. The system reads the command document sequentially and applies updates in order, with each reboot installing the next package in the sequence. This dynamic approach enables both update verification (each package is installed and verified in its own reboot) and operational flexibility (multiple updates and factory resets can be performed across different reboot cycles), resolving the contradiction between verification reliability and operation versatility.
Data Source
AI summary
An over-the-air update method for continuous delta of an Android handheld device is provided, having advantages of transmitting a plurality of update packages, rebooting once to complete all updates after the update packages are executed, and meeting the update power failure recovery requirement. A command document is continuously processed from the interrupt row according to update information and processing progress after rebooting in cases of abnormal power failure in the update process. In addition, an update power failure recovery method for an Android handheld device is provided. Rebooting is only required once no matter how many update packages are installed. Obstacle to release of a plurality of packages does not exist. The plurality of update packages are provided with update power failure protection. Processing is convenient and realization is reliable.

