System application upgrading method, in-vehicle device, vehicle, and readable storage medium
By obtaining the upgrade package and determining the target upgrade method, and using a suitable upgrade method to upgrade the system application, the problem of low system application upgrade efficiency is solved, achieving an efficient and low-cost upgrade process, while allowing users to use electronic devices normally.
Patent Information
- Application Number
- PCT/CN2025/086573
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-31
- Filing Date
- 2025-04-01
- Publication Date
- 2025-12-04
AI Technical Summary
The upgrade efficiency of existing system applications is low, and upgrades cannot be carried out efficiently.
A method for upgrading system applications is provided, which involves obtaining an upgrade package and determining the target upgrade method, and then using either a first upgrade method that does not require restarting the operating system or a second upgrade method that requires restarting the operating system to upgrade the system applications.
It effectively reduces the upgrade cycle of system applications, improves upgrade efficiency, and lowers upgrade costs. At the same time, users can use electronic devices normally during the upgrade process, thus improving the user experience.
Smart Images

Figure CN2025086573_04122025_PF_FP_ABST
Abstract
Description
System application upgrade methods, in-vehicle equipment, vehicles, and readable storage media
[0001] Related cross-references
[0002] This disclosure is based on Chinese Patent Publication No. 202410703917.1, published on May 31, 2024, and claims priority to the aforementioned Chinese Patent Publication, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates to the field of application upgrade technology, and in particular to a method for upgrading system applications, in-vehicle equipment, vehicles, and readable storage media. Background Technology
[0004] Vehicles may be equipped with system applications. During use, some defects may occur in the system applications, in which case an application upgrade (referred to as an upgrade) is required.
[0005] However, the current upgrade efficiency for system applications is relatively low. Summary of the Invention
[0006] This disclosure provides a method for upgrading system applications, an in-vehicle device, a vehicle, and a readable storage medium, among other embodiments, which can solve the problem of low efficiency in upgrading system applications. The technical solution is as follows:
[0007] On the one hand, a method for upgrading a system application is provided, the method comprising:
[0008] Obtain the upgrade packages for the system applications to be upgraded;
[0009] Determine the target upgrade method for the system application, the target upgrade method including: one of a first upgrade method and a second upgrade method; wherein, the first upgrade method does not require restarting the operating system, while the second upgrade method requires restarting the operating system.
[0010] Based on the upgrade package, the system application is upgraded using the target upgrade method.
[0011] On the other hand, an in-vehicle infotainment device is provided, the in-vehicle infotainment device including: a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement an upgrade method for system applications as described above.
[0012] In another aspect, a vehicle is provided, the vehicle including: the vehicle-mounted equipment as described above.
[0013] In another aspect, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method for upgrading the system application as described above.
[0014] The beneficial effects of the technical solutions provided by some embodiments of this disclosure include at least the following:
[0015] This disclosure provides, in some embodiments, a method for upgrading a system application, an in-vehicle infotainment system, a vehicle, and a readable storage medium. The method obtains an upgrade package for the system application to be upgraded and determines a target upgrade method for the system application. Then, based on the upgrade package, the method upgrades the system application using the target upgrade method. Therefore, for a specific system application to be upgraded, this method can upgrade the system application individually using the target upgrade method according to the upgrade package, without requiring the electronic device to be flashed to upgrade the system application. This effectively reduces the upgrade cycle of the system application, thereby improving the upgrade efficiency; and it also effectively reduces the upgrade cost of the system application.
[0016] Additional aspects and advantages of some embodiments of this disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this disclosure. Attached Figure Description
[0017] Figure 1 is a flowchart of a system application upgrade method provided according to some embodiments of the present disclosure;
[0018] Figure 2 is a flowchart of another system application upgrade method provided according to some embodiments of the present disclosure;
[0019] Figure 3 is a structural schematic diagram of a vehicle-mounted device provided according to some embodiments of the present disclosure. Detailed Implementation
[0020] Embodiments of this disclosure are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.
[0021] Vehicles may be equipped with system applications. During use, these applications may encounter certain defects, requiring upgrades.
[0022] In related technologies, over-the-air (OTA) servers can compile and package a vehicle's operating system and all system applications installed on it into an OTA package, which is then sent to the vehicle. The vehicle can then be flashed based on this OTA package to upgrade a specific system application. In other words, a system application can be upgraded through a whole-device upgrade using OTA technology.
[0023] However, the upgrade efficiency of related technologies for system applications is relatively low.
[0024] In view of this, the present disclosure provides a method for upgrading a system application. This method obtains the upgrade package of the system application to be upgraded and determines the target upgrade method for the system application. Then, the method upgrades the system application based on the upgrade package and using the target upgrade method. Therefore, for a specific system application to be upgraded, this method can upgrade the system application individually using the target upgrade method according to the system application's upgrade package, without requiring the electronic device to be flashed to upgrade the system application, thus effectively improving the efficiency of system application upgrades.
[0025] This disclosure provides an electronic device having an operating system. The operating system contains system applications. These system applications typically reside in system memory. Furthermore, the system applications can be started after the operating system boots and can automatically restart if killed.
[0026] Optionally, the operating system can be the Android operating system, or simply the Android system. System applications installed in the Android system all have a persistent attribute, and the persistent attribute value of system applications installed in the Android system is a target value, which is true. System applications installed in the Android system can also be called persistent applications. In addition, third-party applications other than system applications can also be installed in the Android system.
[0027] The electronic device can be a mobile terminal (such as a mobile phone, laptop, or tablet), a fixed terminal, or a vehicle-mounted device.
[0028] This disclosure provides a method for upgrading a system application, which is applied to an electronic device. Referring to Figure 1, the method includes:
[0029] Step 101: Obtain the upgrade package for the system application to be upgraded.
[0030] Electronic devices can obtain the download address of the upgrade package and download the upgrade package based on that download address.
[0031] Step 102: Determine the target upgrade method for the system application.
[0032] The target upgrade method includes one of two methods: a first upgrade method and a second upgrade method. The first upgrade method does not require restarting the operating system. The second upgrade method requires restarting the operating system. Specifically, the first upgrade method involves upgrading without restarting the operating system and by killing system applications.
[0033] In this embodiment of the disclosure, after a system application installed in the operating system is killed, the operating system can automatically restart the system application and restore the application's process and at least one running component to the state before the application was killed, thereby restoring the application's operation. The at least one component includes at least a service component. If the operating system restarts a new version of the system application because an older version was killed, and can restore the new version's state to the state before the application upgrade, the electronic device can determine that the target upgrade method is the first upgrade method, i.e., it does not require restarting the operating system and killing the older version of the system application to upgrade the application. Here, the older version of the system application refers to the system application before the upgrade, and the new version refers to the system application after the upgrade.
[0034] If the operating system cannot restore the state of the new version of the system application to the state before the system application upgrade after restarting the new version, the electronic device can determine that the target upgrade method is the second upgrade method, that is, the operating system needs to be restarted to upgrade the system application.
[0035] Step 103: Based on the upgrade package of the system application to be upgraded, upgrade the system application using the target upgrade method.
[0036] Once the target upgrade method for the system application is determined, the electronic device can upgrade the system application based on the upgrade package using the target upgrade method.
[0037] In summary, the embodiments of this disclosure provide a method for upgrading a system application. This method can obtain the upgrade package of the system application to be upgraded and determine the target upgrade method for the system application. Then, the method can upgrade the system application based on the upgrade package and using the target upgrade method. Therefore, for a specific system application to be upgraded, this method can upgrade the system application individually using the target upgrade method according to the upgrade package, without needing to flash the electronic device to upgrade the system application. Thus, on the one hand, it effectively reduces the upgrade cycle of the system application, thereby improving the upgrade efficiency; on the other hand, it can effectively reduce the upgrade cost of the system application.
[0038] This disclosure uses the Android operating system as an example and a vehicle infotainment system as an example to illustrate the system application upgrade method provided in this disclosure. Referring to Figure 2, the method may include:
[0039] Step 201: Obtain the in-vehicle application to be upgraded.
[0040] The in-vehicle application can be one of the following: a system application or a third-party application.
[0041] A software management application can be installed in the vehicle. After the vehicle starts, the software management application running in the vehicle can retrieve application upgrade information from the management server. This application upgrade information may include: the identifier of the in-vehicle application to be upgraded, the download address of the upgrade package for the in-vehicle application, and the version number of the upgrade package.
[0042] The number of in-vehicle applications to be upgraded can be one or more. Each in-vehicle application has an identifier that can be used to uniquely identify it; for example, the identifier can be the package name of the in-vehicle application.
[0043] Understandably, this management server can be a backend server for software management applications. Optionally, this management server can be a single server, a server cluster consisting of several servers, or a cloud computing service center.
[0044] Step 202: Obtain the upgrade package for the in-vehicle application to be upgraded.
[0045] For each in-vehicle application to be upgraded, once the vehicle obtains the download address for the upgrade package of that application, it can download the upgrade package based on that download address. This upgrade package can be an Android application package (APK) file.
[0046] For example, an application upgrade service can run in the vehicle, which can download the upgrade package of the in-vehicle application based on the download address of the in-vehicle application to be upgraded.
[0047] Step 203: Check whether the in-vehicle application is a system application.
[0048] For each in-vehicle application to be upgraded, if the vehicle (e.g., the application upgrade service) determines that the in-vehicle application is not a system application, then step 204 can be executed. If the vehicle determines that the in-vehicle application is a system application, then step 205 can be executed.
[0049] In this embodiment of the disclosure, the value of the persistent attribute of system applications installed in the Android system is typically "true". Based on this, for each in-vehicle application to be upgraded, the vehicle can detect the value of the persistent attribute of the in-vehicle application to determine whether the application is a system application. If the vehicle determines that the value of the persistent attribute of the in-vehicle application is "true", then the application is determined to be a system application. If the vehicle determines that the value of the persistent attribute of the in-vehicle application is not "true", then the application is determined not to be a system application.
[0050] Optionally, all system applications installed in the Android system will start and run after the Android system boots up. Therefore, if there are multiple in-vehicle applications to be upgraded, the vehicle can first filter out the running applications from among them. Then, for the running applications, the vehicle checks the value of the `persistent` attribute to determine whether the application is a system application.
[0051] Since the vehicle can obtain the operating status of in-vehicle applications faster than it can obtain the value of the persistent attribute of an in-vehicle application, first filtering out in-vehicle applications that are running, and then determining the system application from among the running in-vehicle applications, can improve the efficiency of system application determination. The operating status of an in-vehicle application is either running or not running.
[0052] Step 204: Directly install the upgrade package for the in-vehicle application.
[0053] If the vehicle determines that the in-vehicle application to be upgraded is not a system application, then the upgrade package for that in-vehicle application can be installed directly to upgrade it.
[0054] Step 205: Determine the target upgrade method for the system application.
[0055] If the vehicle determines that the in-vehicle application to be upgraded is a system application, then the target upgrade method for that system application can be determined. This target upgrade method includes one of two methods: a first upgrade method and a second upgrade method. The first upgrade method does not require restarting the operating system. The second upgrade method requires restarting the operating system. Specifically, the first upgrade method involves upgrading without restarting the operating system, by killing the system application; this can also be called a kill-and-restore method.
[0056] In this embodiment of the disclosure, after a system application installed in the Android system is killed, the Android system can automatically restart the system application and restore the system application's process and at least one running component to the state before the system application was killed, thereby restoring the system application's operation. The at least one component includes at least a Service component.
[0057] If the vehicle's Android system restarts with a new version of the system application after the old version was killed, and the new version of the system application can be restored to its state before the system application upgrade, then the vehicle can determine that the target upgrade method is the first upgrade method. If the vehicle's Android system cannot restore the state of the new version of the system application to its state before the system application upgrade after restarting the new version of the system application, then the vehicle can determine that the target upgrade method is the second upgrade method.
[0058] It should be understood that restoring the state of the new version of the system application to the state before the system application upgrade means restoring the components of the new version of the system application to the state before the upgrade, as well as restoring the processes of the new version of the application to the state before the upgrade.
[0059] In this embodiment of the disclosure, since the process of the system application can be resumed after at least one component of the system application is restored, and each component is generally started in two ways: by searching and starting the application component by its component name; or by searching and starting the component by its startup conditions. The startup conditions for each component can be determined based on the attribute values of the action, category, and data attributes in the component's intent-filter.
[0060] Based on this, the vehicle can detect whether the system application's upgrade package includes the target component's component information. If it determines that the upgrade package includes the target component's component information, it checks whether the target component's component information in the upgrade package matches the component information of the target component in the running system application (i.e., the older version of the system application). The target component's component information includes: the target component's component name and the target component's startup conditions.
[0061] If the vehicle determines that the component information of the target components included in the upgrade package matches the component information of the target components of the system application (at this point, the system application before the upgrade), then it can be determined that after the new version of the system application restarts due to the old version being killed, the processes and target components of the new version of the system application can be restored to their pre-upgrade state. Therefore, the target upgrade method for this system application can be determined as the first upgrade method. If the vehicle determines that the upgrade package does not include the component information of the target components, or that the component information of the target components included in the upgrade package does not match the component information of the target components of the system application, then it can be determined that after the new version of the system application restarts due to the old version being killed, the processes and target components of the new version of the system application cannot be restored to their pre-upgrade state. Therefore, the target upgrade method for this system application can be determined as the second upgrade method.
[0062] The phrase "the component information of the target component included in the upgrade package matches (or does not match) the component information of the target component in the system application" means that the component information of the target component included in the upgrade package is the same as (or different from) the component information of the target component in the system application.
[0063] The target component includes components that are currently running in the system application. For example, the target component may include a Service component. Alternatively, the target component may include a Service component and an Activity component. When the target component includes both a Service component and an Activity component, if the vehicle determines that the component information of the Service component in the upgrade package is the same as the component information of the Service component in the system application, and the component information of the Activity component in the upgrade package is the same as the component information of the Activity component in the system application, then it can be determined that the component information of the target component included in the upgrade package matches the component information of the target component in the system application. If the vehicle determines that the component information of the Service component in the upgrade package is different from the component information of the Service component in the system application, and / or, the component information of the Activity component in the upgrade package is different from the component information of the Activity component in the system application, then it can be determined that the component information of the target component included in the upgrade package does not match the component information of the target component in the system application.
[0064] In this embodiment of the disclosure, under the first upgrade method, if the vehicle needs to prevent the restoration of the Activity component of the new version of the system application after restarting the new version of the system application due to the old version being killed, so as to avoid the application interface of the new version of the system application being displayed after restarting, then after determining that the target upgrade method is the first upgrade method, the Activity component running in the system application can be cleared before installing the upgrade package of the system application. After the Activity component is cleared, the components running in the system application will only include: Service component. Here, clearing the Activity component means: clearing the instance of the Activity component.
[0065] If the vehicle needs to run the Activity components of the new version of the system application after restarting the new version due to the old version being killed, then it is certain that there is no need to clear the running Activity components of the system application. In this case, the components currently running in the system application can include: Service components and Activity components.
[0066] Understandably, by preventing the restoration of the Activity components of the old system application after it is killed and the new system application is restarted, the system application can be upgraded without the user's knowledge.
[0067] In this embodiment of the disclosure, for each system application to be upgraded, the vehicle can clear the Activity components running on that system application to perform a seamless upgrade. Alternatively, for the system application to be upgraded, the vehicle can detect whether the system application is a target application. If the vehicle determines that the system application is not a target application, it can clear the Activity components running on that system application. If the vehicle determines that the system application is a target application, it can determine that it is not necessary to clear the Activity components running on that system application.
[0068] The target application is the application whose interface needs to be displayed after the vehicle starts but before receiving user input. For example, the target application can be a desktop application.
[0069] In this embodiment of the disclosure, the Android system includes a package installer service for installing upgrade packages. After the vehicle determines the target upgrade method for the system application, it can update the installation mode of the package installer service. The updated installation mode is used to indicate the target upgrade method for the system application.
[0070] For example, for the second upgrade method, the updated installation mode can be a staged (STAGED) mode. For the first upgrade method, the updated installation mode can be an INSTALL_STAGED mode.
[0071] Step 206: Based on the upgrade package, upgrade the system application using the target upgrade method.
[0072] Once the target upgrade method for a system application is determined, the vehicle can use that target upgrade method to upgrade the system application.
[0073] If the target upgrade method is the second upgrade method, the vehicle can restart the operating system, and during the restart process, install the upgrade package for the system application to upgrade the system application. Then, the vehicle can start the new version of the system application.
[0074] In this embodiment, the Android system further includes a package manager service (PMS) and an activity manager service (AMS). After the vehicle determines the target upgrade method as the second upgrade method, the package installation service can create an installation session, write the session parameters to the vehicle's local configuration file, and copy the system application upgrade package to a temporary folder. Then, the application upgrade service in the vehicle can verify the upgrade package and, after confirming that the upgrade package passes verification, notify the operating system to restart. After the operating system restarts and completes the necessary initialization work, it can trigger a systemReady callback. Upon receiving the systemReady callback, the PMS can first read the session parameters of the installation session recorded in the configuration file, and based on these session parameters, submit the upgrade package to be installed to the installation queue, so that the package installation service can read from the installation queue and execute the installation process. After the upgrade package installation is complete, the AMS starts all system applications to launch the new version of the system application. Then, the Android system executes the native system (i.e., operating system) startup process, at which point the system application upgrade is successful.
[0075] The installation session parameters include: session identifier (ID), upgrade package name, user ID, session creation time, update time, path to the temporary folder used to receive the upgrade package, flags indicating whether the upgrade package has passed verification, and flags indicating whether the upgrade package has been installed. This configuration file can be `install_sessions.xml`. The package installation service can copy the upgrade package to the temporary folder based on the path specified in the session parameters.
[0076] In this embodiment of the disclosure, the upgrade package may include a package name, a version number, and signature information. If the application upgrade service determines that the package name of the upgrade package is the same as the package name of the system application to be upgraded, the version number of the upgrade package is higher than the version number of the system application, and based on the signature information, it determines that the upgrade package has not been tampered with, then the upgrade package can be determined to have passed verification. If the application upgrade service determines that the package name of the upgrade package is different from the package name of the system application to be upgraded, and / or, the version number of the upgrade package is lower than or equal to the version number of the system application, and / or, based on the signature information, it determines that the upgrade package has been tampered with, then the upgrade package can be determined to have failed verification.
[0077] Understandably, during the system application upgrade process, the vehicle can update the update time in the installation session, a flag indicating whether the upgrade package has been verified, and a flag indicating whether the upgrade package has been installed.
[0078] In this embodiment of the disclosure, if the vehicle determines that the system application requires immediate upgrade, it can perform a soft reboot of the operating system to quickly restart the operating system. If the vehicle determines that the system application does not require immediate upgrade, it can start the operating system the next time the vehicle's infotainment system boots up.
[0079] Understandably, the system application upgrade package may also include a flag indicating whether the system application requires an immediate upgrade. The vehicle can determine whether the system application requires an immediate upgrade based on the value of this flag.
[0080] If the target upgrade method is the first upgrade method, the vehicle can install the upgrade package. During the installation process, the old version of the system application must not be killed. After the upgrade package is installed, the vehicle can kill the old version of the system application, then restart the new version of the system application, and run the new version of the system application based on the running data of the old version of the system application, so as to restore the state of the new version of the system application to the state before the upgrade.
[0081] This operational data includes the status data of the system application's processes and the status data of the system application's components. Correspondingly, the vehicle running the new version of the system application based on the operational data of the old version, in order to restore the new version's system application to its pre-upgrade state, can mean: running the new version of the system application and restoring the status data of the new version's processes to that of the old version's processes, and restoring the status data of the new version's components to that of the old version's components, thus restoring both the new version's processes and components to their pre-upgrade state.
[0082] In this embodiment, before the upgrade package is installed, the user can use a certain system application. At this time, the application information of the system application's process is that of the old version of the system application. After the upgrade package is installed, before the Android system kills the old version of the system application, the user may need to continue using this system application, such as creating a new page. In this case, the Android system needs to continue running the application process based on the application information of the new version of the system application to avoid information errors in the system application.
[0083] Since the Android system cannot obtain the application information of the new version system application before the new version system application is restarted, it can only continue to read the application information from the storage location of the application information of the old version system application. Therefore, before killing the old version system application, the vehicle can also actively modify the application information of the application process of the old version system application.
[0084] The modified application information is identical to that recorded in the upgrade package. This application information is the configuration information recorded in the system application's AndroidManifest.xml file. This application information includes at least: system application component information, permission information, and theme information. For example, this application information may include: system application component information, permission information, theme information, version information, and package name, etc.
[0085] The permission information may include: the names of the permissions required for the system application to run; that is, the permission information indicates the permissions required for the system application to run. The system application's theme (also known as a skin) determines the interface style of the system application. Accordingly, the theme information may include: the theme name, and the display information of the theme elements. Theme elements can be: backgrounds, fonts, or controls, etc. Background display information may include: the background color; font display information may include: the font type, color, and size, etc. Control display information may include: the control's position and color on the interface, etc. The version information may include: the version number, version name, and release date, etc.
[0086] Optionally, the vehicle can obtain the AndroidManifest.xml file from the upgrade package based on the storage path of the upgrade package, and can directly replace the AndroidManifest.xml file of the old version system application with the AndroidManifest.xml file obtained from the upgrade package, so as to modify the application information of the application process of the old version system application.
[0087] It is understood that the order of steps in the system application upgrade method provided in this disclosure can be appropriately adjusted, and steps can be added or removed as needed. For example, steps 202 and 203 can be executed simultaneously. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the protection scope of this disclosure, and therefore will not be elaborated further.
[0088] In summary, the embodiments of this disclosure provide a method for upgrading a system application. This method can obtain the upgrade package of the system application to be upgraded and determine the target upgrade method for the system application. Then, the method can upgrade the system application based on the upgrade package and using the target upgrade method. Therefore, for a specific system application to be upgraded, this method can upgrade the system application individually using the target upgrade method according to the upgrade package, without needing to flash the electronic device to upgrade the system application. This effectively reduces the upgrade cycle of the system application, thereby improving the upgrade efficiency; it also effectively reduces the upgrade cost of the system application; furthermore, while OTA (Over-The-Air) whole-device upgrades prohibit user operation during the upgrade process, the method provided by the embodiments of this disclosure allows users to use the electronic device normally during the upgrade process, thus improving the user experience.
[0089] This disclosure provides an in-vehicle infotainment device. Referring to FIG3, the in-vehicle infotainment device 100 includes a processor 110 and a memory 120. The processor 110 and the memory 120 are connected, for example, via a bus 130.
[0090] Processor 110 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. Processor 110 may also be a combination that implements computing functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0091] Bus 130 may include a pathway for transmitting information between the aforementioned components. Bus 130 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 130 may be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in Figure 3, but this does not indicate that there is only one bus or one type of bus.
[0092] The memory 120 stores a computer program corresponding to the upgrade method of the system application in the above embodiments of this disclosure. This computer program is executed under the control of the processor 110. The processor 110 executes the computer program stored in the memory 120 to implement the content shown in the aforementioned method embodiments. That is, the processor 110 is used for:
[0093] Obtain the upgrade packages for the system applications to be upgraded;
[0094] Determine the target upgrade method for the system application. The target upgrade method includes one of the first upgrade method and the second upgrade method. The first upgrade method does not require restarting the operating system, while the second upgrade method requires restarting the operating system.
[0095] Based on the upgrade package, the system applications are upgraded using a targeted upgrade approach.
[0096] Optionally, the target upgrade method is the first upgrade method. This processor 110 can be used for:
[0097] When installing the upgrade package, prevent the killing of old version system applications during the installation process. These old version system applications are the system applications that existed before the upgrade.
[0098] After the upgrade package is installed, kill the old version of the system application;
[0099] Based on the running data of the old version of the system application, the new version of the system application is run to restore the state of the new version of the system application to the state before the system application upgrade. The new version of the system application is the upgraded system application.
[0100] Optionally, the runtime data includes: state data of system application processes, and state data of system application components. The processor 110 can be used for:
[0101] Run the new version of the system application and restore the process state data of the new version of the system application to the process state data of the old version of the system application, and restore the component state data of the new version of the system application to the component state data of the old version of the system application.
[0102] Optionally, the processor 110 can also be used for:
[0103] Modify the application information of the old version of the system application. The modified application information is the same as the application information in the upgrade package. The application information includes at least the version number of the system application.
[0104] Optionally, the processor 110 can also be used for:
[0105] Before killing the old version of the system application, modify the application information of the old version's application process. The modified application information is the same as the application information in the upgrade package.
[0106] Optionally, the processor 110 can be used for:
[0107] If the system application is not the target application, then clear the active components of the system application.
[0108] Optionally, the target upgrade method is the second upgrade method. The processor 110 can be used for:
[0109] Reboot the operating system;
[0110] Install the upgrade package during the operating system restart process;
[0111] Launch the upgraded system applications.
[0112] Optionally, the processor 110 can be used for:
[0113] If system applications require immediate upgrades, a soft reboot of the operating system will be performed.
[0114] If the system applications do not require immediate upgrades, the operating system will be launched the next time the electronic device with the operating system installed boots up.
[0115] Optionally, the processor 110 can be used for:
[0116] If the component information of the target component included in the upgrade package matches the component information of the target component of the system application, then the target upgrade method of the system application is determined to be the first upgrade method.
[0117] If the upgrade package does not include the component information of the target component, or if the component information of the target component included in the upgrade package does not match the component information of the target component of the system application, then the target upgrade method of the system application is determined to be the second upgrade method.
[0118] The component information of the target component includes: the class name of the target component and the startup conditions of the target component.
[0119] Optionally, the target components include components that are running in the system application.
[0120] In summary, this disclosure provides an in-vehicle infotainment device capable of obtaining an upgrade package for a system application to be upgraded and determining the target upgrade method for that system application. Then, the in-vehicle infotainment device can upgrade the system application based on the upgrade package and using the target upgrade method. Therefore, for a specific system application to be upgraded, the in-vehicle infotainment device can upgrade the application individually using the target upgrade method based on the upgrade package, without needing to flash the device's firmware to upgrade the application. This effectively reduces the upgrade cycle of the system application, thereby improving upgrade efficiency, and also effectively reduces the upgrade cost.
[0121] This disclosure also provides a vehicle that may include the in-vehicle infotainment system shown in FIG3. That is, the vehicle is an intelligent vehicle with an operating system. Optionally, the vehicle may be a sedan, bus, or truck, etc.
[0122] This disclosure also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the system application upgrade method provided in the above-described method embodiments, such as the method shown in FIG1 or FIG2.
[0123] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0124] It should be understood that various parts of this disclosure can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0125] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0126] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0127] In this disclosure, unless otherwise expressly specified and limited, the terms "installation," "connection," "linking," "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; 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; they can refer to the internal communication of two components or the interaction between two components, unless otherwise expressly limited. Those skilled in the art can understand the specific meaning of the above terms in this disclosure according to the specific circumstances.
[0128] Although embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present disclosure.
Claims
1. A method for upgrading a system application, the method comprising: Obtain the upgrade packages for the system applications to be upgraded; Determine the target upgrade method for the system application, the target upgrade method including: one of a first upgrade method and a second upgrade method, wherein the first upgrade method does not require restarting the operating system, and the second upgrade method requires restarting the operating system; Based on the upgrade package, the system application is upgraded using the target upgrade method.
2. The method according to claim 1, wherein the target upgrade method is the first upgrade method; Based on the upgrade package, the system application is upgraded using the target upgrade method, including: During the installation of the upgrade package, the old version of the system application must not be killed. The old version of the system application is the system application before the upgrade. After the upgrade package is installed, kill the old version of the system application; Based on the running data of the old version of the system application, a new version of the system application is run to restore the state of the new version of the system application to the state before the system application upgrade, wherein the new version of the system application is the upgraded system application.
3. The method according to claim 2, wherein the operating data includes: The status data of the system application's processes and the status data of the system application's components; Based on the runtime data of the old version of the system application, run the new version of the system application to restore the state of the new version of the system application to the state before the system application upgrade, including: Run the new version of the system application, and restore the process state data of the new version of the system application to the process state data of the old version of the system application, and restore the component state data of the new version of the system application to the component state data of the old version of the system application.
4. The method according to claim 2 or 3, wherein before killing the older version of the system application, the method further comprises: Modify the application information of the application process of the old version system application, and the modified application information is the same as the application information in the upgrade package.
5. The method according to claim 1, wherein the target upgrade method is the second upgrade method; Based on the upgrade package, the system application is upgraded using the target upgrade method, including: Reboot the operating system; The upgrade package is installed during the operating system restart process; Start the upgraded system application.
6. The method according to claim 5, wherein restarting the operating system comprises: If the system application needs to be upgraded immediately, a soft reboot is performed on the operating system; If the system application does not require immediate upgrades, the operating system will be launched the next time the electronic device with the operating system installed is booted.
7. The method according to any one of claims 1 to 6, determining the target upgrade method for the system application, comprising: If the component information of the target component included in the upgrade package matches the component information of the target component of the system application, then the target upgrade method of the system application is determined to be the first upgrade method; If the upgrade package does not include the component information of the target component, or the component information of the target component included in the upgrade package does not match the component information of the target component of the system application, then the target upgrade method of the system application is determined to be the second upgrade method; The component information of the target component includes: the component name of the target component and the startup conditions of the target component.
8. The method of claim 7, wherein the target component includes a component running in the system application.
9. A vehicle infotainment system, the vehicle infotainment system comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method as described in any one of claims 1-8.
10. A vehicle, the vehicle comprising: The vehicle-mounted equipment as described in claim 9.
11. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of claims 1-8.
Citation Information
Patent Citations
On-board equipment and dual-system backup method and device of on-board equipment
CN104252369A
Vehicle-mounted application software upgrading method and system, electronic equipment and storage medium
CN115145605A
Vehicle equipment upgrading method and device, vehicle and readable storage medium
CN116149706A
On-board automatic diagnosis system device and upgrading method therefor
WO2018045700A1