An upgrading method of an Android system and a device with the Android system
Patent Information
- Application Number
- CN202110773621.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-08
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2041-07-08
AI Technical Summary
The existing OTA upgrade function of the vehicle system only supports upgrades to read-only partitions and cannot support OTA upgrades to read-write partitions, which cannot meet the needs of modifying system data in vehicle system projects.
An upgrade method for an Android system is provided, which generates an upgrade file containing difference data and upgrade instruction information, and performs OTA upgrades on read-only and read-write partitions respectively, including parsing the upgrade package, generating the difference file, and performing updates based on block device and file differences.
It enables OTA upgrades for read-only and read-write partitions in the vehicle infotainment system project, meeting the need to modify system data, improving the efficiency and reliability of OTA upgrades, and preventing data loss and system incompatibility issues.
Smart Images

Figure CN115599428B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to system upgrade technology, and more particularly to an Android system upgrade method, a device with an Android system, and a computer-readable storage medium. Background Technology
[0002] Android is a free and open-source operating system based on the Linux kernel, primarily used in mobile terminal devices such as smartphones, tablets, and in-vehicle infotainment systems. Over-the-Air (OTA) technology is a technology that enables remote management of mobile terminal devices and SIM card data through the air interface of mobile communications. After years of application and development on public networks, OTA technology is now quite mature. Network operators can not only use OTA technology to remotely manage SIM cards but also provide mobile new service download capabilities to smartphones, tablets, in-vehicle infotainment systems, and other mobile terminal devices.
[0003] Currently, in-vehicle infotainment systems can perform OTA (Over-The-Air) upgrades based on the OTA differential technology built into the Android system. However, the existing OTA upgrade function of in-vehicle infotainment systems only supports OTA upgrades for read-only (RO) partitions, and cannot support OTA upgrades for read-and-write (RW) partitions. This cannot meet the actual needs of modifying system data during the development of in-vehicle infotainment system projects.
[0004] In order to overcome the above-mentioned defects in the existing technology, there is an urgent need in the field for an over-the-air (OTA) download technology for the Android system, which can be used to perform OTA upgrades on the read-only partition and read-write partition of the Android system respectively, so as to meet the actual needs of modifying system data during the development of vehicle system projects. Summary of the Invention
[0005] The following provides a brief overview of one or more aspects to offer a basic understanding of them. This overview is not an exhaustive summary of all conceived aspects, nor is it intended to identify key or decisive elements of all aspects, nor to define the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed descriptions that follow.
[0006] To overcome the aforementioned deficiencies in the existing technology, the present invention provides an Android system upgrade method, an Android system-equipped device, and a computer-readable storage medium, which can perform OTA upgrades on the read-only partition and read-write partition of the Android system respectively, thereby meeting the actual needs of modifying system data during the development of vehicle infotainment system projects.
[0007] Specifically, the Android system upgrade method provided by the first aspect of the present invention is applicable to Android systems that include both read-only partitions and read-write partitions. The upgrade method includes the following steps: downloading an upgrade package for the Android system, wherein the upgrade package includes a first upgrade file for upgrading the read-only partition and / or a second upgrade file for upgrading the read-write partition. The first upgrade file includes difference data between the upgraded system and the original system in the read-only partition, and the second upgrade file includes at least one difference file involving the upgraded system and the original system in the read-write partition, as well as upgrade instruction information indicating the differences between the upgraded system and the original system; parsing the upgrade package to obtain the first upgrade file and / or the second upgrade file; in response to obtaining the first upgrade file, performing a block device-based update on the read-only partition according to the difference data; and in response to obtaining the second upgrade file, performing a file difference-based update on the read-write partition according to the upgrade instruction information and the at least one difference file. By performing these steps, the upgrade method can perform OTA upgrades on both the read-only partition and the read-write partition of the Android system, thereby meeting the actual needs of modifying system data during the development of vehicle infotainment system projects.
[0008] The apparatus with an Android system provided according to a second aspect of the present invention includes a memory and a processor. The processor is connected to the memory and configured to implement the upgrade method of the Android system provided in the first aspect of the present invention. By implementing the upgrade method, the apparatus can perform OTA upgrades on both the read-only partition and the read-write partition of the Android system, thereby meeting the actual needs of modifying system data during the development of vehicle infotainment system projects.
[0009] The computer-readable storage medium provided by the third aspect of the present invention stores computer instructions thereon. When the computer instructions are executed by a processor, the upgrade method for the Android system provided by the first aspect of the present invention is implemented. By implementing the upgrade method, the computer-readable storage medium can perform OTA upgrades on both the read-only partition and the read-write partition of the Android system, thereby meeting the actual needs of modifying system data during the development of vehicle infotainment system projects. Attached Figure Description
[0010] The above-described features and advantages of the present invention will be better understood after reading the following detailed description of embodiments of the present disclosure in conjunction with the accompanying drawings. In the drawings, components are not necessarily drawn to scale, and components having similar related characteristics or features may have the same or similar reference numerals.
[0011] Figure 1 A schematic diagram of an upgraded Android system provided according to some embodiments of the present invention is shown.
[0012] Figure 2 A schematic diagram of the process for generating an OTA upgrade package according to some embodiments of the present invention is shown.
[0013] Figure Labels
[0014] 10. Cloud and server-side;
[0015] 20. Vehicle infotainment system. Detailed Implementation
[0016] The following specific embodiments illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. Although the description of the present invention will be presented in conjunction with preferred embodiments, this does not mean that the features of the invention are limited to these embodiments. On the contrary, the purpose of describing the invention in conjunction with embodiments is to cover other options or modifications that may be derived based on the claims of the present invention. To provide a thorough understanding of the invention, many specific details will be included in the following description. The invention may also be implemented without using these details. Furthermore, to avoid confusion or obscuring the focus of the invention, some specific details will be omitted in the description.
[0017] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances.
[0018] Furthermore, the terms "upper," "lower," "left," "right," "top," "bottom," "horizontal," and "vertical" used in the following description should be understood as the orientations shown in the relevant paragraphs and accompanying drawings. These relative terms are for illustrative purposes only and do not imply that the described apparatus must be manufactured or operated in a specific orientation, and therefore should not be construed as limiting the invention.
[0019] It is understood that although terms such as "first," "second," and "third" may be used herein to describe various components, regions, layers, and / or parts, these components, regions, layers, and / or parts should not be limited by these terms, and these terms are only used to distinguish different components, regions, layers, and / or parts. Therefore, the first components, regions, layers, and / or parts discussed below may be referred to as second components, regions, layers, and / or parts without departing from some embodiments of the present invention.
[0020] As mentioned above, the OTA upgrade function of the existing vehicle infotainment system only supports OTA upgrades for read-only (RO) partitions mounted in read-only mode, but cannot support OTA upgrades for read-and-write (RW) partitions mounted in read-and-write mode. This cannot meet the actual needs of modifying system data during the development of vehicle infotainment system projects.
[0021] To overcome the aforementioned deficiencies in the existing technology, the present invention provides an Android system upgrade method, an Android system-equipped device, and a computer-readable storage medium, which can perform OTA upgrades on the read-only partition and read-write partition of the Android system respectively, thereby meeting the actual needs of modifying system data during the development of vehicle infotainment system projects.
[0022] In some non-limiting embodiments, the Android system upgrade method provided in the first aspect of the present invention can be implemented by the Android system-equipped device provided in the second aspect of the present invention. Specifically, the device may include a vehicle infotainment system configured in a vehicle and an OTA server in the cloud. The vehicle infotainment system has an Android system installed and is configured with a vehicle memory and a vehicle processor. The OTA server in the cloud is configured with a cloud memory and a cloud processor. The vehicle memory and the cloud memory include, but are not limited to, the computer-readable storage medium provided in the third aspect of the present invention, on which computer instructions are stored. The vehicle processor is connected to the vehicle memory and is configured to execute the computer instructions stored in the vehicle memory. The cloud processor is connected to the cloud memory and is configured to execute the computer instructions stored in the cloud memory. Thus, the vehicle processor and the cloud processor can cooperate to implement the Android system upgrade method provided in the first aspect of the present invention.
[0023] The following will describe the principle of upgrading the above-mentioned vehicle infotainment system to the Android system using some implementation examples of upgrade methods. Those skilled in the art will understand that these implementation examples of upgrade methods are merely non-limiting embodiments provided by this invention, intended to clearly demonstrate the main concepts of the invention and provide specific solutions convenient for public implementation, rather than limiting all working methods or functions of the above-mentioned vehicle infotainment system. Similarly, the above-mentioned vehicle infotainment system is also only a non-limiting embodiment provided by this invention and does not limit the entities implementing the steps in these upgrade methods.
[0024] Please refer to Figure 1 , Figure 1 A schematic diagram of an upgraded Android system provided according to some embodiments of the present invention is shown.
[0025] like Figure 1 As shown, in some embodiments of the present invention, in response to the startup of the vehicle infotainment system 20, the Over-The-Air (OTA) update service will automatically run to detect whether a higher system version is available for update on the OTA server of the cloud 10. Specifically, the OTA update service can obtain the version information of the currently installed Android system (e.g., V1.0) from the vehicle infotainment system 20 and send this version information "V1.0" to the cloud 10 to query whether a higher system version is available for update on the cloud 10. In response to the query information sent by the vehicle infotainment system 20, the OTA server of the cloud 10 can obtain the version information of various Android system versions stored in the cloud storage and compare these version information with the version information provided by the vehicle infotainment system 20 to determine whether a higher system version is available for update in the cloud storage.
[0026] If all Android system versions stored in the cloud storage are no higher than the version of the Android system currently installed in the vehicle infotainment system 20, then the cloud storage 10 can return feedback information to the vehicle infotainment system 20 that there is no higher system version on the OTA server, thus ending the Android system OTA upgrade process. Conversely, if any one or more Android systems (e.g., V1.1) stored in the cloud storage have a higher version than the version of the Android system currently installed in the vehicle infotainment system 20, then the cloud storage 10 can return feedback information to the vehicle infotainment system 20 that there is a higher system version on the OTA server.
[0027] In response to the detection result indicating the existence of a higher version of the upgraded system on the server side, the vehicle infotainment system 20 can provide text, image, and / or voice prompts to the vehicle user through the vehicle's central control display and / or speakers. This notifies the user that a higher system version V1.1 is available for update in the cloud, provides relevant information about the upgraded system V1.1, and asks the user if they wish to update. The user can trigger the OTA upgrade process from the original system V1.0 to the upgraded system V1.1 by clicking the "Confirm" button shown on the central control display, clicking the "Confirm" button on the central control console, or by verbally stating the "Confirm" voice command.
[0028] In response to the user's confirmation of the update, the vehicle infotainment system 20 can send a request to the cloud 10 to obtain the upgrade package. In response to this request, the OTA server of the cloud 10 can run the pre-written `ota_from_target_files` script to perform the OTA upgrade package packaging process. Please refer to [link / reference]. Figure 2 , Figure 2 A schematic diagram of the process for generating an OTA upgrade package according to some embodiments of the present invention is shown.
[0029] like Figure 2 As shown, in response to the execution of the `ota_from_target_files` script, the OTA server on the cloud 10 can first extract the version information "V1.0" of the original system V1.0 currently installed on the vehicle infotainment system 20, and the version information "V1.1" of the cloud-based upgrade system V1.1 from the request information. Then, the OTA server can retrieve the relevant information for these two systems from the cloud storage to determine whether the OTA upgrade process involves upgrading read-only (RO) partitions and read-write (RW) partitions, and then generate the corresponding upgrade files according to the partition types to be upgraded.
[0030] In some embodiments, if the OTA upgrade process involves upgrading a read-only (RO) partition, the OTA server in the cloud 10 can first determine the original block device file stored in the read-only partition of the original system V1.0 to be upgraded in the vehicle system 20, and compare it with the updated block device file corresponding to the read-only partition in the upgraded system V1.1 to determine the differences between the two. Then, the OTA server can compile this difference data according to the compilation method built into the Android system to generate a first upgrade file for upgrading the read-only partition.
[0031] In some embodiments, if the OTA upgrade process involves upgrading a read-write (RW) partition, the OTA server on the cloud 10 can first determine one or more original files stored in the read-write partition of the original system V1.0 to be upgraded, and compare these original files with one or more update files in the upgrade system V1.1 corresponding to the read-write partition. If one or more update files in the upgrade system V1.1 do not have corresponding original files in the original system V1.0, the OTA server can identify these one or more update files as difference files between the upgrade system V1.1 and the original system V1.0, and generate corresponding added upgrade instruction information. If one or more update files in the upgrade system V1.1 have corresponding original files in the original system V1.0, but involve different content, the OTA server can identify these one or more update files as difference files between the upgrade system V1.1 and the original system V1.0, and generate corresponding replacement upgrade instruction information. If one or more original files in the original system V1.0 do not have corresponding update files in the upgraded system V1.1, the OTA server can identify these one or more original files as difference files between the upgraded system V1.1 and the original system V1.0, and generate corresponding deletion upgrade instructions. Then, the OTA server can package these upgrade instructions and at least one corresponding difference file to generate a second upgrade file for upgrading read-write partitions.
[0032] After generating the first upgrade file and / or the second upgrade file involved in upgrading from the original system V1.0 to the upgraded system V1.1, the OTA server of the cloud 10 can further package the first upgrade file and / or the second upgrade file to generate the OTA upgrade package required for upgrading from the original system V1.0 to the upgraded system V1.1. The vehicle system 20 can download the upgrade package from the cloud 10 to perform the OTA upgrade process from the original system V1.0 to the upgraded system V1.1.
[0033] In some preferred embodiments, after downloading the OTA upgrade package, the vehicle system 20 can re-upload the downloaded local upgrade package to the cloud 10 and verify the downloaded local upgrade package against the cloud upgrade package provided by the OTA server of the cloud 10 to determine if they are consistent. If the downloaded local upgrade package is inconsistent with the cloud upgrade package provided by the server 10, the vehicle system 20 can determine that the downloaded local upgrade package has a data loss problem and re-download the OTA upgrade package required for upgrading from the original system V1.0 to the upgraded system V1.1 from the OTA server of the cloud 10. Conversely, if the downloaded local upgrade package is consistent with the cloud upgrade package provided by the server 10, the vehicle system 20 can determine that the downloaded local upgrade package has passed the verification and parse the verified upgrade package to proceed with the subsequent upgrade process from the original system V1.0 to the upgraded system V1.1. By verifying the downloaded local upgrade package, this solution can effectively prevent the problem of data loss during the download process of existing OTA technologies, thereby avoiding the potential risk that the vehicle system 20 will not function properly after installing an incorrect upgrade package.
[0034] like Figure 1 As shown, in some embodiments of the present invention, after downloading the OTA upgrade package, the vehicle system 20 can parse the downloaded upgrade package to obtain the first upgrade file and / or the second upgrade file therein, and determine whether the current OTA upgrade process involves upgrading the read-only partition and the read-write partition based on whether the first upgrade file and the second upgrade file exist in the downloaded upgrade package.
[0035] In some embodiments, if a first upgrade file is obtained from the downloaded upgrade package, the vehicle system 20 can determine that the current OTA upgrade process involves an upgrade operation on a read-only partition, and thus start the Android system's update_engine upgrade service to upgrade the read-only partition of the original system V1.0. Specifically, the Android upgrade service update_engine can first parse the first upgrade file to obtain the difference data involved in the current OTA upgrade process. Then, the Android upgrade service update_engine can perform differential restoration on the current original block device file of the read-only partition according to a preset window size (e.g., 500M) based on the difference data, and replace the original data at the corresponding position in the original block device file with the difference data, thereby updating the data stored in the read-only partition of the original system V1.0 to the data stored in the read-only partition of the upgraded system V1.1 based on the block device. By adopting this device update upgrade method, the present invention only needs to generate the first upgrade file based on the difference data between the upgraded system V1.1 and the original system V1.0 in the read-only partition. It has the advantage of small data volume. On the one hand, it can save upgrade traffic and improve the download speed of upgrade package. On the other hand, it can improve the speed of compressing upgrade package and parsing upgrade file, thereby improving the efficiency of OTA upgrade.
[0036] In some embodiments, if a second upgrade file is obtained from the downloaded upgrade package, the vehicle system 20 can determine that the current OTA upgrade process involves an upgrade operation on the read-write partition, and thus start the pre-written update_binary upgrade service to upgrade the read-write partition of the original system V1.0. Specifically, the update_binary upgrade service can first parse the second upgrade file to obtain the upgrade instruction information and at least one difference file involved in the current OTA upgrade process. Then, the update_binary upgrade service can add the corresponding difference file to the read-write partition of the vehicle system 20 according to the upgrade instruction information, and / or replace the corresponding original file in the read-write partition with the difference file; and / or delete the corresponding original file from the read-write partition, thereby updating one or more system files in the read-write partition of the original system V1.0 to one or more system files in the read-write partition of the upgraded system V1.1 based on file differences. By adopting this file difference-based update scheme, the present invention can overcome the defect that the existing Android system cannot support OTA upgrades on read-write partitions, thereby meeting the actual needs of modifying system data during the development of vehicle system projects.
[0037] Furthermore, in some embodiments of the present invention, the Android system installed on the vehicle infotainment system 20 is preferably an A / B system, used to optimize system coupling during the OTA upgrade process of the vehicle infotainment system 20. Specifically, the A / B system may include two independent system partitions, A and B, wherein each system partition includes a corresponding read-only partition and a read-write partition. The vehicle infotainment system 20 may choose to run one of the system partitions (e.g., system partition A) and use the other system partition (i.e., system partition B) as a backup partition.
[0038] In some embodiments, the read-write partition of the vehicle infotainment system 20 may include a `resc` partition, used to store voice resources and third-party library files necessary for the development of the vehicle infotainment system project. Corresponding to the above-described A / B system embodiment, the vehicle infotainment system 20 can be configured with two read-write partitions: `resc_A` and `resc_B`, corresponding to the aforementioned system A partition and system B partition, respectively. Specifically, before the vehicle infotainment system 20 leaves the factory, technicians can add entries for the `resc_A` and `resc_B` partitions to the GPT partition table of the vehicle infotainment system 20 to determine their storage addresses. Then, technicians can add automatic mount options for the `resc_A` and `resc_B` partitions to the file system list `fstab` to trigger automatic mounting of the `resc_A` and `resc_B` partitions. Furthermore, technicians can add `slotselect` tags to the `resc_A` and `resc_B` partitions respectively to distinguish the different system partitions to which the `resc_A` and `resc_B` partitions belong.
[0039] During the OTA upgrade process for the aforementioned A / B systems, in response to downloading and obtaining the OTA upgrade package for the current Android system, the vehicle infotainment system 20 can first determine the running first system partition (e.g., system A partition) and the non-running second system partition (e.g., system B partition) based on its operating status. Then, if the first upgrade file is obtained from the downloaded upgrade package, the vehicle infotainment system 20 can determine that this OTA upgrade process involves an upgrade operation on a read-only partition, and thus start the Android system's update_engine upgrade service to upgrade the read-only partition of the original system V1.0. Specifically, the Android upgrade service update_engine can first parse the first upgrade file to obtain the difference data involved in this OTA upgrade process. Then, the Android upgrade service update_engine can modify the data of the original block device file of the read-only partition of the non-running system B partition according to the difference data, based on a preset window size (e.g., 500M), thereby performing a block device-based update on the read-only partition of system B.
[0040] Furthermore, if a second upgrade file is obtained from the downloaded upgrade package, the vehicle system 20 can determine that the OTA upgrade process involves an upgrade operation on a read-write partition, and thus initiate the pre-written update_binary upgrade service to upgrade the resc_B partition of the original system V1.0. Specifically, the update_binary upgrade service can first parse the second upgrade file to obtain the upgrade instruction information and at least one difference file involved in the OTA upgrade process. Then, the update_binary upgrade service can add the corresponding difference file to the resc_B partition of the vehicle system 20 according to the upgrade instruction information, and / or replace the corresponding original file in the resc_B partition with the difference file; and / or delete the corresponding original file from the resc_B partition, thereby updating one or more system files of the original system V1.0 in the resc_B partition to one or more system files of the upgraded system V1.1 in the resc_B partition based on file differences.
[0041] After completing the OTA upgrade of system partition B, the vehicle system 20 can switch between the running partition and the backup partition, running the backup system partition B and stopping the running system partition A. Then, the Android system's update_engine upgrade service, as described above, can modify the original block device file data of the stopped system partition A's read-only partition according to the difference data between the upgraded system V1.1 and the original system V1.0 in the read-only partition, based on a preset window size (e.g., 500M), thereby performing a block device-based update of the read-only partition of system partition A. Furthermore, the upgrade service update_binary can also add corresponding difference files to the resc_A partition of the vehicle system 20 according to the parsed upgrade instruction information, and / or replace the corresponding original files in the resc_A partition with difference files; and / or delete the corresponding original files from the resc_A partition, thereby updating one or more system files in the resc_A partition of the original system V1.0 to one or more system files in the resc_A partition of the upgraded system V1.1 based on file differences.
[0042] By adopting the aforementioned Android A / B system and performing OTA upgrades on the vehicle infotainment system 20 using the backup system within the Android A / B system, this invention can effectively prevent system incompatibility or even system crashes caused by different versions of the read-only partition and the read-write partition during the OTA upgrade process, thereby optimizing the system coupling of the vehicle infotainment system 20 during the OTA upgrade process.
[0043] Those skilled in the art will understand that the above-described schemes of configuring read-only partitions and read-write partitions (i.e., resc_A partition and resc_B partition) for system partitions A and B are merely preferred solutions provided by the present invention, intended to clearly demonstrate the main concept of the present invention and provide an OTA upgrade scheme that optimizes system coupling, rather than being used to limit the scope of protection of the present invention.
[0044] Alternatively, in other embodiments, technicians may configure only a shared read-write partition (e.g., resc_A / B partition) for the A system partition and B system partition of the vehicle system 20, saving storage space of the vehicle system storage medium while sacrificing some system reliability.
[0045] Although the methods described above are illustrated and depicted as a series of actions for the sake of simplicity, it should be understood and appreciated that these methods are not limited by the order of the actions, as some actions may occur in a different order and / or concurrently with other actions from the illustrations and descriptions herein or not illustrated and described herein but which may be understood by those skilled in the art, according to one or more embodiments.
[0046] Those skilled in the art will understand that information, signals, and data can be represented using any of a variety of different techniques and arts. For example, the data, instructions, commands, information, signals, bits, symbols, and chips described throughout the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, light fields or optical particles, or any combination thereof.
[0047] Those skilled in the art will further appreciate that the various illustrative logic blocks, modules, circuits, and algorithm steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, the various illustrative components, blocks, modules, circuits, and steps are described above in a generalized manner in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in different ways for each specific application, but such implementation decisions should not be construed as departing from the scope of the invention.
[0048] Although the cloud server 10 and vehicle infotainment system 20 described in the above embodiments can be implemented through a combination of software and hardware, it is understood that the cloud server 10 and vehicle infotainment system 20 can also be implemented in either software or hardware. For hardware implementation, the cloud server 10 and vehicle infotainment system 20 can be implemented using one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, other electronic devices for performing the above functions, or a selection of combinations of the above devices. For software implementation, the cloud server 10 and vehicle infotainment system 20 can be implemented using independent software modules such as procedures and functions running on a general-purpose chip, each of which can perform one or more functions and operations described herein.
[0049] The various illustrative logic modules and circuits described in conjunction with the embodiments disclosed herein may be implemented or performed using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but in alternatives, it may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors cooperating with a DSP core, or any other such configuration.
[0050] The prior description of this disclosure is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to this disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not intended to be limited to the examples and designs described herein, but should be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for upgrading an Android system, characterized in that, The Android system includes a read-only partition and a read-write partition, and the upgrade method includes the following steps: Download the upgrade package of the Android system, wherein the upgrade package includes a first upgrade file for upgrading the read-only partition and a second upgrade file for upgrading the read-write partition. The first upgrade file includes difference data between the upgraded system and the original system in the read-only partition. The second upgrade file includes at least one difference file between the upgraded system and the original system in the read-write partition, as well as upgrade instruction information indicating the differences between the upgraded system and the original system. The upgrade package is parsed to obtain the first upgrade file and the second upgrade file; In response to obtaining the first upgrade file, the read-only partition is updated based on the block device according to the difference data; and In response to obtaining the second upgrade file, the read-write partition is updated based on file differences according to the upgrade instruction information and the at least one difference file; In response to obtaining the second upgrade file, the read-write partition is updated based on file differences according to the upgrade instruction information and the at least one difference file, including... The vehicle infotainment system initiates a pre-written update_binary upgrade service. The update_binary upgrade service parses the second upgrade file to obtain the upgrade instruction information and the at least one difference file. According to the upgrade instruction information, the update_binary upgrade service adds the corresponding difference file to the read-write partition of the vehicle infotainment system, and / or replaces the corresponding original file in the read-write partition with the difference file; and / or deletes the corresponding original file from the read-write partition.
2. The upgrade method as described in claim 1, wherein, The step of updating the read-write partition based on file differences according to the upgrade instruction information and the at least one difference file includes: According to the upgrade instruction information, add the corresponding difference file to the read-write partition; and / or According to the upgrade instruction information, replace the original files in the read-write partition with the corresponding difference files; and / or According to the upgrade instruction information, the corresponding original file is deleted from the read-write partition.
3. The upgrade method as described in claim 2, wherein, Before performing the step of downloading the upgrade package for the Android system, the upgrade method further includes the following steps: Identify one or more original files stored in the read-write partition by the original system; The update files corresponding to the read-write partition in the upgrade system are compared with each of the original files; In response to the updated file differing from each of the original files, the upgrade instruction information is generated, and the updated file differing from each of the original files is identified as the at least one difference file; and The upgrade instruction information and the at least one difference file are packaged together to generate the second upgrade file.
4. The upgrade method as described in claim 3, wherein, Before performing the step of downloading the upgrade package for the Android system, the upgrade method further includes the following steps: Determine the original block device file stored in the read-only partition by the original system; The update block device file corresponding to the read-only partition in the upgrade system is compared with the original block device file to determine the difference data; The difference data is compiled to generate the first upgrade file; and The first upgrade file and the second upgrade file are packaged together to generate the upgrade package.
5. The upgrade method as described in any one of claims 1 to 4, wherein, The Android system includes two system partitions, each of which includes a corresponding read-only partition and a read-write partition. The Android system uses the first running system partition as the running partition and the second non-running system partition as the backup partition.
6. The upgrade method as described in claim 5, wherein, The step of updating the read-only partition based on the difference data includes: Determine the first system partition that is currently running and the second system partition that is not running based on the running status; Based on the difference data, modify the data of the original block device file of the read-only partition of the second system partition, and perform the block device-based update on the read-only partition of the second system partition; In response to completing the update of the read-only partition of the second system partition, the second system partition is run, and the first system partition is stopped; and Based on the difference data, modify the data of the original block device file of the read-only partition of the first system partition, and perform the block device-based update on the read-only partition of the first system partition.
7. The upgrade method as described in claim 5, wherein, The step of updating the read-write partition based on file differences according to the upgrade instruction information and the at least one difference file includes: Determine the first system partition that is currently running and the second system partition that is not running based on the running status; Based on the upgrade instruction information and the at least one difference file, the read-write partition of the second system partition is updated based on file differences; In response to completing the update of the read-write partition of the second system partition, the second system partition is run, and the first system partition is stopped; and Based on the upgrade instruction information and the at least one difference file, the read-write partition of the first system partition is updated according to the file difference.
8. The upgrade method as described in any one of claims 1 to 4, wherein, The steps for downloading the Android system upgrade package include: Check if the upgrade system exists on the server side; In response to the detection result of the upgrade system existing on the server side, the user is asked whether to update; and In response to the user's update command, the upgrade package for the upgrade system is downloaded.
9. The upgrade method as described in any one of claims 1 to 4, wherein, The steps for parsing the upgrade package include: In response to the completion of the upgrade package download, the downloaded upgrade package is verified against the server-side upgrade package to determine whether they are consistent; and In response to the downloaded upgrade package being identical to the upgrade package on the server, the downloaded upgrade package is determined to have passed the verification, and the verified upgrade package is parsed.
10. A device with an Android system, characterized in that, include: Memory; as well as A processor connected to the memory and configured to implement the upgrade method of the Android system as described in any one of claims 1 to 9.
11. A computer-readable storage medium storing computer instructions thereon, characterized in that, When the computer instructions are executed by the processor, the upgrade method of the Android system as described in any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Software upgrading method, apparatus, and system of terminal
CN106293793A
Available storage space improvement method, smart TV and computer readable storage medium
CN107911741A
System upgrading method, intelligent equipment and server
CN110580167A
