CN114840216A - 一种基于Android的快速定制组版方法及其系统 - Google Patents
一种基于Android的快速定制组版方法及其系统 Download PDFInfo
- Publication number
- CN114840216A CN114840216A CN202210608763.9A CN202210608763A CN114840216A CN 114840216 A CN114840216 A CN 114840216A CN 202210608763 A CN202210608763 A CN 202210608763A CN 114840216 A CN114840216 A CN 114840216A
- Authority
- CN
- China
- Prior art keywords
- software package
- customization
- android
- resources
- split
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种基于Android的快速定制组版方法,包括如下步骤:S1、基于定制框架平台编译出大版本,该大版本包含所有三方供应商APK;准备好镜像文件进行基础项定制,建立主软件包;S2、根据不同车型和需求,从主软件包分裂出对应的分裂软件包,分裂软件包为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件;S3、由主软件包和不同的分裂软件包构成不同车型项目的终端平台。本发明采用一次编译主软件,其他分裂软件都是重新打包,极大缩短车型项目的组版时间,车型项目越多,时间成本将指数级降低;具有效率高、成本低的优点。
Description
技术领域
本发明涉及用于车辆THU系统软件的编译打包、定制车型软件配置方法,具体涉及一种基于Android的快速定制组版方法及其系统。属于车联网技术领域。
背景技术
随着汽车车载智能终端的发展,在终端中配置的产品也越来越丰富。当同平台搭载多款车型,不同车型搭载不同的产品,对于主机厂的软件集成工作和组版任务也日益加大。
目前,各主机厂针对市场对车载产品提出各种要求,都是根据需求的变动而变动版本,例如自动驾驶、场景识别等等,这样会花费大量的人力资源来应对各种不同的需求,耗费工程师大量时间来编译不同的产品,使工程师不能专注于新产品的开发。
参见图1,为传统组版编码的工作流程,由工程师修改、交付出新版本,并测试。传统组版方法存在的主要问题包括:
1)针对不同车型项目将会整体重新组版,耗费人力;传统组版方式中,根据车型项目,工程师修改需求,然后分别组版,每次版本将花费2个小时。
2)修改量较小情况下,也无法做到快速出版;
3)无法做到一次性针对不同车型同时出版。
CN202110976427.5公开“一种车载Tbox的软件配置方法、装置及云端平台”,其方法包括:获取当前车辆的整车配置信息,并发送整车配置信息至当前车辆的车载Tbox,使得基于整车配置信息对当前车辆进行配置;在配置完成后,发送当前车辆对应的远程指令,以使车载Tbox将远程指令中的CAN报文信息上传至当前车辆的CAN网络;获取车载Tbox从CAN网络中采集与远程指令对应的执行信息,并根据执行信息得到远程指令的执行结果。解决相关技术中不同车型的Tbox软件需要不同厂家独立开发,导致开发成本以及售后维护较高等问题。
CN202010158163.8公开“一种软件功能柔性定制方法及系统”,软件功能柔性定制方法包括:云端服务器获取服务功能开通请求,服务功能开通请求包括:用户信息和/或服务功能配置信息;云端服务器根据服务功能开通请求发送服务功能开通指令至与用户信息对应的用户终端,以使得柔性定制软件工具包根据服务功能开通指令开通相应的服务功能的使用权限。该发明使用户能够根据自身需求开通/关闭服务功能,满足了用户的不同需求。
但是,所述现有技术没有解决各主机厂针对市场对车载产品提出各种要求,实现主机厂的快速迭代开发、快速定制系统及组版的问题。
发明内容
针对现有技术存在的上述不足,本发明的目的是提供一种基于Android的快速定制组版方法及其系统,解决现有技术迭代定制车机系统及组版存在效率低、成本高等问题。
实现上述目的,本发明采用如下技术方案:
本发明提供一种基于Android的快速定制组版方法,其特征在于,包括如下步骤:
S1、基于定制框架平台编译出大版本,该大版本包含所有三方供应商APK;准备好镜像文件进行基础项定制,建立主软件包;
S2、根据不同车型和需求,从主软件包分裂出对应的分裂软件包,分裂软件包为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件;
S3、由主软件包和不同的分裂软件包构成不同车型项目的终端平台。
其中,所述定制框架为All_In_One,包含多媒体资源、三方APK资源、自研APK资源、系统属性、Overlay资源和车型宏。
进一步,所述步骤S2的具体步骤包括:
S21、根据不同的车型以及需求,下载不同的资源包,该资源包定制框架All_In_One;
S22、在项目源码中下载定制框架All_In_One工具,挂载各类镜像文件;
S23、根据车型的不同,解析和拷贝资源(铃声、图片、独立apk,自研apk);
S24、编译overlay资源,通过overlay的方式定制覆盖功能需求;
S25、重新打包镜像文件,并发布不同车型版本。
进一步,所述多媒体资源定制框架包括Media资源、TTS资源、Audio资源,用于定制车载终端的媒体资源,资源类的定制可以根据不同的车型进行选择,自由的组合形成特定车型含有特定的功能,如低配车型不包含TTS语音资源包。
所述三方APK资源定制框架为独立供应商APK,用于扩展设备功能模块。供应商APK是主机厂对车型功能的扩展形式,独立的APK通常采用预制的方式包含到product中,和系统相关的定制APK将放在system镜像中。
所述自研APK资源定制框架,需要独立编译成APK,用于形成主机厂自带产品功能的展示,自研APK是通过源码的形式存在于项目中,需要独立编译。编译出APK后才能参加到ALL_In_One的框架定制中,编译过程中放置到system镜像中。
所述系统属性定制框架包括定制不同车型属性值,给予功能差异化开发。系统属性值可直接用于判断车型项目,包括了system、vendor、product中的build.prop文件。
所述Overlay资源定制框架适用于对于不同车型定制不同的图标、显示、功能差异。
所述车型宏定制框架适用于区分车型项目,在编译前通过choosecombo等命令选择所需要的车型,在All_In_One框架中,将自动的load不同资源到镜像文件中,然后重新打包软件包。
所述System用于存放和系统类、平台类相关的apk、资源文件;
所述prodcut/vendor用于放置和厂商相关的定制类资源和apk文件,定制system镜像文件的系统属性值,和product、vendor镜像文件的定制类。
本发明还提供按上述方法定制的一种基于Android的快速定制组版系统,采用定制资源和apk定制文件,重新打包挂载主软件包,并形成一个分裂软件包;由一个主软件包和不同的分裂软件包构成。
进一步,所述主软件为正常android车型平台项目的整体打包软件包,包括但不仅限于system、vendor、product和/或boot镜像;
分裂软件包仅包括system、vendor、product镜像,分裂软件包中为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件,从而形成车型项目的整体软件包。
相比现有技术,本发明具有如下有益效果:
1、本发明由于只编译一次主软件,其他分裂软件都是重新打包,极大地缩短车型项目的组版时间,车型项目越多,时间成本大大降低。
2、采用本发明方法可以实现效率快速组版,除了第一个主版本花费时间约两个小时外,后续每个车型分裂版本只需要15分钟,组版效率呈指数提高。
3、采用本发明方法同平台只需要配置一名工程师,人力成本大大降低。而传统组版方法,需要每个车型配置一名集成工程师。
4、本发明系统动态生成,灵活多样,主机厂根据自己的需求,可快速定制不同车型车载终端的不同软件包。
附图说明
图1为传统组版方法流程图;
图2为本发明快速组版方法流程图;
图3为本发明All_In_One软件分裂包示意图;
图4为本发明基于Android的快速定制组版的(All_In_One)镜像文件示意图;
图5为本发明All_In_One框架下的车型软件包定制示意图;
图6为本发明基于Android的快速定制组版终端示意图;
图7为本发明与传统方法效果对比图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和本发明实施例组合可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图2,本发明提供一种基于Android的快速定制组版方法,包括如下步骤:
S1、基于定制框架平台编译出大版本,该大版本包含所有三方供应商APK;准备好镜像文件进行基础项定制,建立主软件包;
S2、根据不同车型和需求,从主软件包分裂出对应的分裂软件包,分裂软件包中为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件;
S3、由主软件包和不同的分裂软件包构成不同车型项目的终端平台。
其中,所述步骤S2的具体包括:
S21、根据不同的车型以及需求,下载不同的资源包,该资源包包含多媒体资源、apk资源等;
S22、在项目源码中下载定制框架All_In_One工具,挂载各类镜像文件;
S23、根据车型的不同,解析和拷贝资源(铃声、图片、独立apk,自研apk);
S24、编译overlay资源,通过overlay的方式定制覆盖功能需求;
S25、重新打包镜像文件,并发布不同车型版本。
参见图3,所述定制框架为All_In_One分裂包,包含多媒体资源定制框架、三方APK资源定制框架、自研APK资源定制框架、系统属性定制框架、Overlay资源定制框架和车型宏定制框架。
其中,所述多媒体资源定制框架包括Media资源、TTS资源、Audio资源,用于定制车载终端的媒体资源,资源类的定制可以根据不同的车型进行选择,自由的组合形成特定车型含有特定的功能,如低配车型不包含TTS语音资源包。
所述三方APK资源定制框架为独立供应商APK,用于扩展设备功能模块。供应商APK是主机厂对车型功能的扩展形式,独立的APK通常采用预制的方式包含到product中,和系统相关的定制APK将放在system镜像中。
所述自研APK资源框架,需要独立编译成APK,用于形成主机厂自带产品功能的展示,自研APK是通过源码的形式存在于项目中,需要独立编译。编译出APK后才能参加到ALL_In_One的框架定制中,编译过程中放置到system镜像中。
系统属性定制框架包括定制不同车型属性值,给予功能差异化开发。系统属性值可直接用于判断车型项目,包括了system、vendor、product中的build.prop文件。
Overlay资源定制框架适用于对于不同车型定制不同的图标、显示、功能差异。
车型宏框架定制适用于区分车型项目,在编译前通过choosecombo等命令选择所需要的车型,在All_In_One框架中,将自动的load不同资源到镜像中,然后重新打包软件包。
下面以搭载Android设备的车载显示终端的组版为例作进一步说明。
参见图4,采用本发明基于Android的All_In_One定制框架方法,包括如下步骤:
S21、根据不同的车型以及需求,下载不同的资源包,该资源包包含多媒体资源、apk资源等;
S22、在项目源码中下载定制框架All_In_One工具,挂载各类镜像文件;
S23、根据车型的不同,解析和拷贝资源(车载显示终端);
S24、编译overlay资源,通过overlay的方式定制覆盖功能需求;
S25、重新打包镜像文件,并发布不同车型版本。
形成一个主软件包加上不同的分裂软件包,其中主软件为一个正常android车型平台项目的整体打包软件包,包括但不仅限于system、vendor、product、boot镜像文件。
分裂软件包仅包括system、vendor、product镜像文件,分裂软件包中为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件,从而形成车型项目的整体软件包。对于不同的车型项目将会用过同一主软件包加上不同的软件分离包组合。
而传统方法针对同一平台的不同车型将定制不同的功能产品,具体实施方式如下:
车控宏添加到choosecombo中,编译主软件使用平台宏, 集成全部的独立三方apk和全部多媒体资源到主软件中。
对于发布的主软件,需要重新挂载system、vendor、product镜像文件,针对独立三方apk和全部多媒体资源,针对不同车型项目的软件包进行删除操作。
对于自研应用包APK,使用编译脚本gradle或者mk的方式单独编译出应用包apk。根据需求重新拷贝到挂载的软件中。
对于系统属性,可直接操作挂载镜像的build.prop,对其进行增删改操作,并修改相关权限。
Overlay资源,当需要修改apk的资源时,如替换图片或者修改一条字符串,那么通常是修改完毕之后重新编译apk 。而重新编译apk是很花时间和资源的,而且很多情况会要求不能重新生成原apk,所以RRO机制就自然而然地被运用起来的,RRO是google在AndroidL上增加的机制,能够实现在不修改原apk的情况下,使用一个体积小,编译迅速的overlayapk去替换原apk的资源。
本发明原理采用RRO机制是可以对所有使用getResource(获取不同分裂包的资源情况)方法调用的资源生效。所以可以使用Overlay的方式来实现不同车型项目APK级别的差异化定制,而无需重新编译整个系统软件。
通过对比可知,本发明只需要使用挂载主软件,单独编译应用包APK然后拷贝overlay的apk到system、vendor或product镜像文件中,重新打包生成分裂软件包。借此,主机厂能够根据自己的需求,针对不同的车型项目,定制化开发项目。
参见图7,通过对比可知,本发明定制方法由于只编译一次主软件,其他分裂软件都是重新打包,极大缩短车型项目的组版时间,车型项目越多,时间成本将指数级降低。相比传统方法本发明取得意想不到的技术效果。
最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。
Claims (14)
1.一种基于Android的快速定制组版方法,其特征在于,包括如下步骤:
S1、基于定制框架平台编译出大版本,该大版本包含所有三方供应商APK;准备好镜像文件进行基础项定制,建立主软件包;
S2、根据不同车型和需求,从主软件包分裂出对应的分裂软件包,分裂软件包为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件;
S3、由主软件包和不同的分裂软件包构成不同车型项目的终端平台。
2.根据权利要求1所述基于Android的快速定制组版方法,其特征在于,所述定制框架为All_In_One,包含多媒体资源、三方APK资源、自研APK资源、系统属性、Overlay资源和车型宏。
3.根据权利要求1所述基于Android的快速定制组版方法,其特征在于,所述步骤S2的具体步骤包括:
S21、根据不同的车型以及需求,下载不同的资源包,该资源包定制框架All_In_One;
S22、在项目源码中下载定制框架All_In_One工具,挂载各类镜像文件;
S23、根据车型的不同,解析和拷贝资源;
S24、编译overlay资源,通过overlay的方式定制覆盖功能需求;
S25、重新打包镜像文件,并发布不同车型版本。
4.根据权利要求2所述基于Android的快速定制组版方法,其特征在于,所述多媒体资源定制框架包括Media资源、TTS资源、Audio资源,用于定制车载终端的媒体资源,资源类的定制可以根据不同的车型进行选择,自由的组合形成特定车型含有特定的功能。
5.根据权利要求2所述基于Android的快速定制组版方法,其特征在于,所述三方APK资源定制框架为独立供应商APK,用于扩展设备功能模块。
6.根据权利要求2所述基于Android的快速定制组版方法,其特征在于,所述自研APK资源定制框架,需要独立编译成APK,用于形成主机厂自带产品功能的展示,自研APK是通过源码的形式存在于项目中,需要独立编译;编译出APK后才能参加到ALL_In_One的框架定制中,编译过程中放置到system镜像中。
7.根据权利要求2所述基于Android的快速定制组版方法,其特征在于,所述系统属性定制框架包括定制不同车型属性值,给予功能差异化开发。
8.根据权利要求2所述基于Android的快速定制组版方法,其特征在于,所述Overlay资源定制框架适用于对于不同车型定制不同的图标、显示、功能差异。
9.根据权利要求2所述基于Android的快速定制组版方法,其特征在于,所述车型宏定制框架适用于区分车型项目,在编译前通过choosecombo等命令选择所需要的车型,在All_In_One框架中,将自动的load不同资源到镜像文件中,然后重新打包软件包。
10.一种基于Android的快速定制系统,其特征在于,采用权利要求1至9任一所述方法定制而成,采用定制资源和apk定制文件,重新打包挂载主软件包,并形成一个分裂软件包;由一个主软件包和不同的分裂软件包构成。
11.根据权利要求10所述基于Android的快速定制系统,其特征在于,所述主软件为android车型平台项目的整体打包软件包,包括但不仅限于system、vendor、product和/或boot镜像文件。
12.根据权利要求10所述基于Android的快速定制系统,其特征在于,所述分裂软件包仅包括system、vendor、product镜像,分裂软件包中为同平台不同车型项目的定制软件包,分裂的定制软件包替换主软件包对应的镜像文件,从而形成车型项目的整体软件包。
13.根据权利要求11所述基于Android的快速定制系统,其特征在于,所述System用于存放和系统类、平台类相关的apk、资源文件。
14.根据权利要求11所述基于Android的快速定制系统,其特征在于,所述vendor、prodcut和/或boot镜像文件,用于放置和厂商相关的定制类资源和apk文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210608763.9A CN114840216A (zh) | 2022-05-31 | 2022-05-31 | 一种基于Android的快速定制组版方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210608763.9A CN114840216A (zh) | 2022-05-31 | 2022-05-31 | 一种基于Android的快速定制组版方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114840216A true CN114840216A (zh) | 2022-08-02 |
Family
ID=82571865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210608763.9A Pending CN114840216A (zh) | 2022-05-31 | 2022-05-31 | 一种基于Android的快速定制组版方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840216A (zh) |
-
2022
- 2022-05-31 CN CN202210608763.9A patent/CN114840216A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279932B (zh) | 一种移动终端动态配置用户界面方法和装置 | |
RU2363039C2 (ru) | Контейнер данных для данных контента пользовательского интерфейса | |
US8578371B2 (en) | Software distribution method and system with automatic prerequisite installation | |
CN111740948B (zh) | 数据包发布方法、动态更新方法、装置、设备及介质 | |
CN105022630B (zh) | 一种组件管理系统及组件管理方法 | |
CN107733985B (zh) | 一种云计算系统功能组件部署方法及装置 | |
CN104615462B (zh) | 跨平台的移动应用生成服务端及系统 | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN110059456B (zh) | 代码保护方法、代码保护装置、存储介质与电子设备 | |
CN112286504B (zh) | 移动APP中基于ReactNative实现小程序开发并加载的方法 | |
CN111459539A (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
CN111399840A (zh) | 一种模块开发方法及装置 | |
CN111857801B (zh) | 一种移动应用的构建方法 | |
CN104699503A (zh) | 一种替换安卓系统中函数的执行逻辑的方法及装置 | |
CN111538526A (zh) | 一种应用程序的多版本差异化功能定制实现方法及系统 | |
CN108182070B (zh) | 定制安卓系统rom的方法、装置及终端设备 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN106484452A (zh) | 一种软件平台的统一配置管理方法和装置 | |
CN111241000B (zh) | 基于cucumber测试工具的分层自动化测试方法 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
CN117008934A (zh) | 自动制作信创操作系统镜像的方法、装置、设备及介质 | |
CN114840216A (zh) | 一种基于Android的快速定制组版方法及其系统 | |
CN112395096A (zh) | 远程函数调用的处理方法、装置、电子设备及存储介质 | |
CN115857999A (zh) | 基于vue的系统架构改造获得微前端系统架构的方法及系统 | |
CN107423096A (zh) | 一种实现软件安装的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |