Vehicle-mounted entertainment system application and system separation packaging method and release process method
Patent Information
- Application Number
- CN202210023771.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-10
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2042-01-10
AI Technical Summary
[0009]本发明为克服上述现有技术中,应用APP必须放入操作系统一起编译,从而存在应用APP做了变更,必须导入操作系统重新编译,也就是说,操作系统的修改也同步到了最新的二进制升级包中,会和我们的预期不符,且操作系统编译非常耗费时间,每次至少花费二个小时,而应用APP的发布也需要至少二个小时,每次编译版本,应用APP和操作系统不能异步打包,导致发布效率非常的低下的问题;以及有时某个应用APP如果出现异常需要重新发布,需要重新整编译整个车载娱乐系统,增加开发成本的问题;以及在与客户合作,客户自己开发应用 APP,有需求自己来编译发布版本,只能开放源码环境给客户,这样会泄漏公司代码知识产权,且存在丢失客户的风险;以及项目后期或者多产品机种的项目,无法做到固定操作系统版本,只变更应用APP版本的发布的问题,提供及一种车载娱乐系统应用和系统分离打包方法及发布流程方法
[0041]本发明的应用和系统分离打包方法,实现将应用APP和操作系统分离打包,即应用APP无需放入操作系统来重新编译生成二进制升级包,提高了开发效率以及发布效率。
Smart Images

Figure CN114546468B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of terminal application technology, and in particular to in-vehicle entertainment system applications and system separation and packaging methods and release processes. Background Technology
[0002] In Android-based in-vehicle entertainment systems, current binary upgrade packages require applications to be compiled along with the operating system. However, according to the in-vehicle entertainment system architecture, applications and the operating system are at different levels. The current upgrade packages cause significant inconvenience for version control.
[0003] For example:
[0004] If the app is modified, it must be recompiled to import the operating system. This means that the changes to the operating system are also synchronized into the latest binary upgrade package, which will not meet our expectations. Moreover, operating system compilation is very time-consuming, taking at least two hours each time, and app release also takes at least two hours. Each time a version is compiled, the app and operating system cannot be packaged asynchronously, resulting in very low release efficiency.
[0005] For example, if an app malfunctions and needs to be re-released, the entire in-vehicle entertainment system needs to be recompiled, increasing development costs.
[0006] For example, when collaborating with clients, if the clients develop their own apps and compile and release versions themselves as needed, providing only the source code environment to the clients could lead to the leakage of the company's intellectual property rights and also pose a risk of losing clients.
[0007] In projects, such as those in the later stages or those involving multiple product models, it may be impossible to maintain a fixed operating system version and only change the release version of the application (APP).
[0008] Therefore, there is a need to develop tools that allow applications to recompile and generate system binary upgrade packages without relying on the operating system environment. Summary of the Invention
[0009] This invention overcomes the problems of existing technologies where applications (APPs) must be compiled along with the operating system. This results in situations where changes to the APP necessitate recompiling and importing it into the operating system, meaning changes to the operating system are also synchronized into the latest binary upgrade package, leading to discrepancies with expectations. Furthermore, operating system compilation is extremely time-consuming, taking at least two hours each time, while APP release also requires at least two hours. The inability to asynchronously package the APP and operating system for each compilation version results in very low release efficiency. Additionally, if an APP malfunctions and requires re-release, the entire in-vehicle entertainment system needs to be recompiled, increasing development costs. Moreover, in collaborations with clients where they develop their own APPs and compile and release versions themselves, providing only the source code environment risks leaking company intellectual property and potentially losing clients. Finally, in later stages of projects or projects with multiple product models, it is impossible to maintain a fixed operating system version while only changing the APP version. This invention provides a method for separating and packaging in-vehicle entertainment system applications and the system itself, along with a release process.
[0010] To solve the above-mentioned technical problems, the technical solution of the present invention is as follows:
[0011] A method for separating and packaging applications and the system in an in-vehicle entertainment system, wherein the in-vehicle entertainment system is based on the Android system, and the Android version is greater than or equal to 4.3, the method includes:
[0012] S10. Decompress the operating system distribution package and generate a pre-packaged file system;
[0013] S20. Sign the APK released by the application APP, put the signed APK into the pre-packaged file system, and pre-optimize the APK.
[0014] S30. Create a pre-packaged file system (img) for flashing;
[0015] S40. Recreate the operating system verification file;
[0016] S50. Recompress and recreate the target of the application APP, generating an operating system compressed package;
[0017] S60. Creates a binary upgrade file for the Android system using an operating system compressed package.
[0018] Furthermore, as a preferred technical solution, step S10 specifically includes:
[0019] Use the tool unzip to decompress the operating system distribution archive target_files.zip and generate a pre-packaged file system.
[0020] Furthermore, as a preferred technical solution, step S20 specifically includes:
[0021] S201. Use the signing tool signapk.jar to call the signing file platform key to sign the APK released by the application APP;
[0022] S202. Place the signed APK file into the pre-packaged file system;
[0023] S203. Use the tool dex2oatd to optimize and transform the APK released by the application APP, and generate a pre-packaged file system that can be run directly, ensuring that the pre-packaged file system starts up faster.
[0024] Furthermore, as a preferred technical solution, step S30 specifically includes:
[0025] Use the tool build_image to create a system image file from a pre-packaged file system.
[0026] Furthermore, as a preferred technical solution, step S40 specifically includes:
[0027] Use the avbtool tool to regenerate the verification file of the pre-packaged file system to ensure that the pre-packaged file system passes the boot verification.
[0028] Furthermore, as a preferred technical solution, step S50 specifically includes:
[0029] Use the tool zip2zip to compress the pre-packaged file system and generate an operating system compressed package.
[0030] Furthermore, as a preferred technical solution, step S60 specifically includes:
[0031] Use the tool ota_from_target_files to create the Android system binary upgrade package final-ota.zip from the operating system compressed package generated in step S50.
[0032] A method for releasing an in-vehicle entertainment system includes the following steps:
[0033] S10.OS / MF releases the corresponding operating system version according to its own needs;
[0034] S20. App developers may release corresponding app versions according to their own needs;
[0035] S30. The version integrator selects the corresponding operating system version and application version as needed, and uses one of the above-mentioned methods for separating and packaging in-vehicle entertainment system applications and systems to create a binary upgrade file as the released system version.
[0036] A vehicle-mounted terminal, comprising:
[0037] At least one processor; and
[0038] A memory storing program instructions configured to be executed by the at least one processor, the program instructions including instructions for executing the above-described method for separating and packaging an in-vehicle entertainment system application and a system.
[0039] A readable storage medium storing program instructions, which, when read and executed by an in-vehicle terminal, cause the in-vehicle terminal to execute the instructions of the above-described method for separating and packaging in-vehicle entertainment system applications and systems.
[0040] Compared with the prior art, the beneficial effects of the technical solution of the present invention are:
[0041] The application and system separation packaging method of the present invention realizes the separation and packaging of application (APP) and operating system. That is, the application (APP) does not need to be put into the operating system to recompile and generate binary upgrade package, which improves development efficiency and release efficiency.
[0042] Meanwhile, the release process method of this invention, by adopting the method of separating and packaging the application APP and the operating system, makes the system version release more efficient and flexible, thereby making the product release more flexible. It allows for arbitrary selection of operating system version and application APP version for combined release; it solves the problem that if either the vehicle operating system or the application APP is modified or its version changes, the entire system must be repackaged and released every time, which inevitably leads to a change in the system version, which is time-consuming, labor-intensive, and increases development costs. Attached Figure Description
[0043] Figure 1 This is a schematic diagram of the process for separating and packaging the application and system of the in-vehicle entertainment system according to Embodiment 1 of the present invention.
[0044] Figure 2 This is a flowchart of the in-vehicle entertainment system application and system separation and packaging method according to Embodiment 1 of the present invention.
[0045] Figure 3 This is a flowchart of the in-vehicle entertainment system release process method according to Embodiment 2 of the present invention.
[0046] The accompanying drawings are for illustrative purposes only and should not be construed as limiting the scope of this patent. To better illustrate this embodiment, some components in the drawings may be omitted, enlarged, or reduced, and do not represent the actual dimensions of the product. It is understandable to those skilled in the art that some well-known structures and their descriptions may be omitted in the drawings. The same or similar reference numerals correspond to the same or similar components. The terms describing positional relationships in the drawings are for illustrative purposes only and should not be construed as limiting the scope of this patent. Detailed Implementation
[0047] The preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings, so that the advantages and features of the present invention can be more easily understood by those skilled in the art, thereby providing a clearer definition of the scope of protection of the present invention.
[0048] In the accompanying drawings of the embodiments of the present invention, the same or similar reference numerals correspond to the same or similar components. In the description of the present invention, it should be understood that if terms such as "upper", "lower", "left", "right", "top", "bottom", "inner", "outer" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, they are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, the terms used to describe positional relationships in the drawings are only for illustrative purposes and should not be construed as limiting the present patent.
[0049] Furthermore, if terms such as "first" or "second" are used for descriptive purposes only, they are mainly used to distinguish different devices, components or parts (the specific types and structures may be the same or different), and are not used to indicate or imply the relative importance or quantity of the indicated devices, components or parts, and should not be construed as indicating or implying relative importance.
[0050] Example 1
[0051] This embodiment discloses a method for separating and packaging in-vehicle entertainment system applications and systems.
[0052] In this embodiment, the in-vehicle entertainment system is based on the Android system, and the Android version is greater than or equal to 4.3.
[0053] In this Android system, the hierarchy includes: Kernel, Hal, Framework, and App. For in-vehicle entertainment systems, we refer to the Kernel, Hal, and Framework collectively as the Operating System (OS). When compiling an Android upgrade package, by default, only the application (APP) can be compiled along with the operating system into the final binary file used for system upgrades. When we only change the app and recreate the upgrade package, we have to recompile it along with the operating system, causing significant inconvenience for product releases.
[0054] Meanwhile, this Android system supports differential packaging, meaning that the Android system compilation `make dist` command can generate an intermediate system compressed package `target.zip` for creating differential packages. This intermediate system compressed package `target.zip` is a file system without binary representation. Therefore, this embodiment utilizes the intermediate system compressed package `target.zip` to repackage the application (APP) into the file system, ultimately generating an upgrade package containing the application. This embodiment provides a method for separating and packaging in-vehicle entertainment system applications and the system, as follows: Figure 1-2 As shown, it includes the following steps:
[0055] S10. Decompress the operating system distribution package and generate a pre-packaged file system.
[0056] This step specifically includes:
[0057] Use the tool unzip to decompress the operating system distribution archive target_files.zip and generate a pre-packaged file system.
[0058] That is, execute the command `unzip-qo input / *target_files*.zip output / `.
[0059] S20. Sign the APK released by the application APP, put the signed APK into the pre-packaged file system, and pre-optimize the APK.
[0060] This step specifically includes:
[0061] S201. Use the signing tool signapk.jar to call the signing file platform key to sign the APK released by the application APP.
[0062] That is, execute the command linux-x86 / framework / signapk.jar tools / platform.x509.pemtools / platform.pk8 input / app / xxx.apk.
[0063] S202. Place the signed APK file into the pre-packaged file system.
[0064] That is, execute the command `mv tmp / xxx.apk.aligned output / sysetm / app / xxx / xxx.apk`.
[0065] S203. Use the tool dex2oatd to optimize and transform the APK released by the application APP, and generate a pre-packaged file system that can be run directly, ensuring that the pre-packaged file system starts up faster.
[0066] That is, execute the command tools / dex2oatd --runtime-arg...
[0067] output / sysetm / app / xxx / xxx.apk.
[0068] S30. Create a pre-packaged file system (img) for flashing.
[0069] This step specifically includes:
[0070] Use the tool build_image to create a system image file from a pre-packaged file system.
[0071] That is, execute the command tools / build_image.py……output / system / system.img.
[0072] S40. Recreate the operating system verification file, i.e., recreate the operating system verification image.
[0073] This step specifically includes:
[0074] Use the avbtool tool to regenerate the verification file of the pre-packaged file system to ensure that the pre-packaged file system passes the boot verification.
[0075] That is, execute the command tools / avbtool……system.img–output vbmeta.img.
[0076] S50. Recompress and recreate the target of the application APP, generating an operating system compressed package.
[0077] This step specifically includes:
[0078] Use the tool zip2zip to compress the pre-packaged file system and generate an operating system compressed package.
[0079] That is, execute the command tools / zip2zip -i output / all-target_files.zip input / …….
[0080] S60. Creates a binary upgrade file for the Android system using an operating system compressed package.
[0081] This step specifically includes:
[0082] Use the tool ota_from_target_files to create the Android system binary upgrade package final-ota.zip from the operating system compressed package generated in step S50.
[0083] That is, execute the command tools / ota_from_target_files……output / all-target_files.zipoutput / final-ota.zip.
[0084] The application and system separation packaging method of the present invention realizes the separation and packaging of application (APP) and operating system. That is, the application (APP) does not need to be put into the operating system to recompile and generate binary upgrade package, which improves development efficiency and release efficiency.
[0085] Example 2
[0086] This embodiment discloses a method for publishing an in-vehicle entertainment system. (See also...) Figure 3 This includes the following steps:
[0087] S10.OS / MF releases the corresponding operating system version according to its own needs, denoted as OS_Ver000X;
[0088] S20. The application provider releases the corresponding application version according to its own needs, denoted as APP_Ver000X;
[0089] S30. The version integrator selects the corresponding operating system version, denoted as OS_Ver0002, and the application version, denoted as APP_Ver0004, as needed. The binary upgrade file is created using one of the above-mentioned methods for separating and packaging in-vehicle entertainment system applications and systems, as the released system version, Version_OS0002_APP0004.
[0090] Meanwhile, the release process method of this invention, by adopting the method of separating and packaging the application APP and the operating system, makes the system version release more efficient and flexible, thereby making the product release more flexible. It allows for arbitrary selection of operating system version and application APP version for combined release; it solves the problem that if either the vehicle operating system or the application APP is modified or its version changes, the entire system must be repackaged and released every time, which inevitably leads to a change in the system version, which is time-consuming, labor-intensive, and increases development costs.
[0091] Example 3
[0092] This embodiment discloses a vehicle-mounted terminal, including:
[0093] At least one processor and memory.
[0094] In this embodiment, the memory stores program instructions, which are configured to be executed by at least one processor. The program instructions include instructions for executing the in-vehicle entertainment system application and system separation packaging method described in Embodiment 1.
[0095] For example, including:
[0096] Unzip the operating system distribution package to generate a pre-packaged file system.
[0097] The application's APK is signed, the signed APK is placed in the pre-packaged file system, and the APK is pre-optimized.
[0098] Create a pre-packaged file system (img) for flashing.
[0099] Recreate the operating system verification file.
[0100] Re-compress and recreate the application's target, generating an operating system compressed package.
[0101] Create a binary upgrade file for the Android system using an operating system compressed package.
[0102] In this embodiment, where the program code is executed on a programmable computer, the mobile terminal generally includes a processor, a processor-readable storage medium (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The memory is configured to store program code; the processor is configured to execute the steps of a vehicle entertainment system application and system separation and packaging method according to the instructions in the program code stored in the memory.
[0103] Example 4
[0104] This embodiment discloses a readable storage medium storing program instructions. When the program instructions are read and executed by an in-vehicle terminal, the in-vehicle terminal performs the steps of the in-vehicle entertainment system application and system separation and packaging method as described in Embodiment 1.
[0105] For example, including:
[0106] Unzip the operating system distribution package to generate a pre-packaged file system.
[0107] The application's APK is signed, the signed APK is placed in the pre-packaged file system, and the APK is pre-optimized.
[0108] Create a pre-packaged file system (img) for flashing.
[0109] Recreate the operating system verification file.
[0110] Re-compress and recreate the application's target, generating an operating system compressed package.
[0111] Create a binary upgrade file for the Android system using an operating system compressed package.
[0112] In this embodiment, readable media includes readable storage media and communication media. Readable storage media stores information such as computer-readable instructions, data structures, program modules, or other data. Communication media generally embodies computer-readable instructions, data structures, program modules, or other data in the form of modulated data signals such as carrier waves or other transmission mechanisms, and includes any information transmission medium. Any combination of the above is also included within the scope of readable media.
[0113] In the specification provided herein, the algorithms and displays are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used with the examples of this invention. The required structure for constructing such systems is apparent from the above description. Furthermore, this invention is not directed to any particular programming language. It should be understood that the contents of the invention described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the invention.
[0114] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively describe all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.
Claims
1. An application and system separation packaging method for an in-vehicle entertainment system, characterized by, The vehicle-mounted entertainment system is based on an Android system, a version of the Android system is greater than or equal to 4.3, and the method comprises the following steps: S10. Decompressing an operating system release compressed package to generate a pre-packaged file system; The operating system release compressed package is an intermediate system compressed package target.zip generated by compiling Kernel, Hal and Framework layers according to an Android system make dist instruction without binary file system, and is processed to generate; S20. Signing an application APP release apk, placing the signed apk in the pre-packaged file system, and pre-optimizing the apk; S30. Preparing a pre-packaged file system image file for flashing; S40. Re-preparing a pre-packaged file system verification file; S50. Re-compressing and preparing an intermediate system compressed package target.zip with added applications APP to generate an operating system compressed package; S60. Using a tool ota_from_target_files to prepare an Android system binary upgrade package final-ota.zip from the operating system compressed package generated in step S50; Step S20 specifically comprises: S201. Using a signature tool signapk.jar to call a signature file platform key to sign an application APP release apk; S202. Placing the signed apk file in the pre-packaged file system; S203. Using a tool dex2oatd to optimize and convert the application APP release apk to generate a binary that can be directly run by the pre-packaged file system; Step S30 specifically comprises: Using a tool build_image to make the pre-packaged file system into a system image file.
2. The method of claim 1, wherein the application and system separation packaging method of an in-vehicle infotainment system is characterized by, Step S10 specifically comprises: Using a tool unzip to decompress the operating system release compressed package target_files.zip to generate a pre-packaged file system.
3. The method of claim 1, wherein the application and system separation packaging method of an in-vehicle infotainment system is characterized by, Step S40 specifically comprises: Using a tool avbtool to re-generate a verification file of the pre-packaged file system.
4. The method of claim 1, wherein the application and system separation packaging method of an in-vehicle infotainment system is characterized by, Step S50 specifically comprises: Using a tool zip2zip to compress the pre-packaged file system to generate an operating system compressed package.
5. A method for publishing a flow process in an in-vehicle entertainment system, the method comprising: The method comprises the following steps: S10. An OS / MF party releases a corresponding operating system version according to its own needs; S20. An application APP party releases a corresponding application version according to its own needs; S30. A version integration party selects a corresponding operating system version and application version according to needs, and uses the vehicle-mounted entertainment system application and system separate packaging method of any one of claims 1-4 to prepare a binary upgrade file as a released system version.
6. A vehicle terminal, characterized by comprising: The method comprises: At least one processor; And A memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, and the program instructions comprise instructions for executing the vehicle-mounted entertainment system application and system separate packaging method of any one of claims 1-4.
7. A readable storage medium storing program instructions, characterized in that, When the program instructions are read and executed by the vehicle terminal, the vehicle terminal is caused to perform instructions of a vehicle entertainment system application and system separation packaging method as claimed in any one of claims 1-4.
Citation Information
Patent Citations
Android system and customized tailoring method thereof
CN103793254A
Method, apparatus, computer device and storage medium for generating upgrade package
CN109144519A