一种安卓项目中配置编译的装置和方法_2

文档序号:9843962阅读:来源:国知局
打包脚本中给出所述路径,例如:out/target/product/〈更改后硬件平台的标识>/。
[0046] 本装置修改了现有的编译流程,将硬件特性和参数提取出来、存放在配置文件中 和设备树文件中,编译时直接访问这两个文件,根据硬件特性和参数配置的编译环境能够 和更改后硬件相对应,因此避免了修改源代码。
[0047] 区别于现有技术,本发明的安卓项目中配置编译的装置,生成配置文件,所述配置 文件包含更改后的硬件配置特性;生成设备树文件,所述设备树文件包含更改后的硬件参 数值;在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所述安卓项 目编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置;建立打包 脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路径;从而能够缩短安卓项 目在硬件配置发生变化时的开发周期,节省人力物力,提高开发效率。
[0048] 参阅图3,图3是本发明提供的安卓项目中配置编译的方法第一实施方式的流程示 意图,所述安卓项目开发过程中硬件配置发生了更改。
[0049]该方法的步骤包括:
[0050] S301:生成配置文件,所述配置文件包含更改后的硬件配置特性。
[00511其中,该步骤的具体实现可以是:
[0052] 创建一个新的defconfig配置文件;
[0053] 在所述defconfig配置文件中增加⑶NFIG配置项,所述⑶NFIG配置项包括更改后 的硬件配置特性;
[0054]将所述defconfig配置文件存放在指定配置文件夹中。
[0055] 在本实施例的一个例子中,CONFIG配置项的内容如下:
[0056]
[0057] 在以上各项配置项中,"="号前面的字符串是特性名称,后面的值表示是否支持, 其中y表示支持,η表示不支持。
[0058] 在本实施例的一个例子中,defconfig配置文件存放在安卓源代码路径LINUX/ android/kernel/arch/arm/configs/中。
[0059] S302:生成设备树文件,所述设备树文件包含更改后的硬件参数值。
[0060] 其中,该步骤的具体实现可以是:
[0061] 创建一个新的dts类型的设备树文件,例如,创建的设备树文件名为:device-tree.dts;
[0062] 在所述设备树文件中增加 board-id配置项,所述配置项包括更改后的硬件参数 值;
[0063]将所述设备树文件存放在指定启动文件夹中。
[0064] 具体的,在本实施例中,board-id配置项的格式如<board-id>xxx〈/board-id>,其 中XXX代表具体的硬件参数值大小,并且以十六进制表示,例如<board-id>FFFFF〈/board-id>。其中,设备树文件的硬件参数和defconfig配置文件描述的硬件是相当应的,即设备树 文件的硬件参数值对应defconfig配置文件中支持的硬件。
[0065] 在本实施例的一个例子中,dts类型的设备树文件存放在LINUX/android/kernel/ arch/arm/boot/路径中,或者存放在以上目录下为该项目再生成的子目录,例如,LINUX/ android/kernel/a;rch/a;rm/boot/C730Lw-dts,其中C730Lw可以是项目名称。
[0066] S303:在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所 述安卓项目编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置。
[0067] 具体的,该步骤的具体实现方式可以是:在所述编译脚本中添加编译选项,所述编 译选项包含所述配置文件和设备树文件的访问方式。例如,在编译选项中包含defconfig配 置文件和dts类型的设备树文件的访问路径,以便编译时能正确选择构建编译环境所需要 用到的硬件特性和参数。
[0068] 具体的,在本实施例中,linux编译系统就会根据该编译选项获取并解析 defconf ig配置文件,将def conf ig文件中包含的硬件配置特性读到内存并逐项解析,解析 结果会保存在编译系统对应的编译变量中,紧接着根据该编译选项读取device-tree.dts 设备树文件,取硬件参数值,例如内存值在HAL层做配置,并将EMMC等设备的驱动程序加载 进来。当内核和HAL层驱动配置完后,系统开始正式编译,本方案实施例中首先编译衍生项 目配置部分,然后再编译MP(Modem)程序,最后编译4?(3卩卩1;[031:;[011)部分 。
[0069] S304:建立打包脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路 径。
[0070]具体的,所述映像文件是image文件。
[0071]因为对于不同的硬件配置,其对应项目生成的image文件需要存放在不同路径。需 要在打包脚本中给出所述路径,例如:out/target/product/〈更改后硬件平台的标识>/。
[0072] 本方法修改了现有的编译流程,将硬件特性和参数提取出来、存放在配置文件中 和设备树文件中,编译时直接访问这两个文件,根据硬件特性和参数配置的编译环境能够 和更改后硬件相对应,因此避免了修改源代码。
[0073] 区别于现有技术,本发明的安卓项目中配置编译的方法,生成配置文件,所述配置 文件包含更改后的硬件配置特性;生成设备树文件,所述设备树文件包含更改后的硬件参 数值;在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所述安卓项 目编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置;建立打包 脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路径;从而能够缩短安卓项 目在硬件配置发生变化时的开发周期,节省人力物力,提高开发效率。
[0074]以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本 发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的 技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1. 一种安卓项目中配置编译的装置,用于所述安卓项目开发过程中硬件配置发生了更 改时,其特征在于,包括: 配置文件生成模块,用于生成配置文件,所述配置文件包含更改后的硬件配置特性; 设备树文件生成模块,用于生成设备树文件,所述设备树文件包含更改后的硬件参数 值; 编译脚本修改模块,用于在编译脚本中添加所述配置文件和所述设备树文件的访问方 式,以便对所述安卓项目编译时能获取所述配置文件和所述设备树文件中的信息进行编译 环境的配置; 打包脚本生成模块,用于建立打包脚本,所述打包脚本包含所述更改后硬件对应映像 文件的生成路径。2. 根据权利要求1所述的安卓项目中配置编译的装置,其特征在于: 所述配置文件生成模块包括配置文件创建单元、配置项添加单元和存放单元; 所述配置文件创建单元用于创建一个新的defconf i g配置文件; 所述配置项添加单元用于在所述defconfig配置文件中增加 CONFIG配置项,所述 CONFIG配置项包括更改后的硬件配置特性; 所述存放单元用于将所述defconfig配置文件存放在指定配置文件夹中。3. 根据权利要求1或2所述的安卓项目中配置编译的装置,其特征在于: 所述设备树文件生成模块包括设备树文件创建单元,配置项添加单元和存放单元; 所述设备树文件创建单元用于创建一个新的dts类型的设备树文件; 所述配置项添加单元用于在所述设备树文件中增加 board-id配置项,所述配置项包括 更改后的硬件参数值; 所述存放单元用于将所述设备树文件存放在指定启动文件夹中。4. 根据权利要求1或2所述的安卓项目中配置编译的装置,其特征在在于: 所述编译脚本修改模块包含编译选项添加单元,用于在所述编译脚本中添加编译选 项,所述编译选项包含所述配置文件和设备树文件的访问方式,以便对所述安卓项目编译 时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置。5. -种安卓项目中配置编译的方法,用于当所述安卓项目开发过程中硬件配置发生了 更改时,其特征在于,包括: 生成配置文件,所述配置文件包含更改后的硬件配置特性; 生成设备树文件,所述设备树文件包含更改后的硬件参数值; 在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所述安卓项目 编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置; 建立打包脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路径。6. 根据权利要求5所述的安卓项目中配置编译的方法,其特征在于,所述生成配置文件 具体为: 创建一个新的def conf i g配置文件; 在所述defconfig配置文件中增加 CONFIG配置项,所述CONFIG配置项包括更改后的硬 件配置特性; 将所述defconf i g配置文件存放在指定配置文件夹中。7. 根据权利要求5或6所述的安卓项目中配置编译的方法,其特征在于,所述生成设备 树文件具体为: 创建一个新的dts类型的设备树文件; 在所述设备树文件中增加 board-id配置项,所述配置项包括更改后的硬件参数值; 将所述设备树文件存放在指定启动文件夹中。8. 根据权利要求5或6所述的安卓项目中配置编译的方法,其特征在于,所述在编译脚 本中添加所述配置文件和所述设备树文件的访问方式具体为:在所述编译脚本中添加编译 选项,所述编译选项包含所述配置文件和设备树文件的访问方式。
【专利摘要】本发明公开了一种安卓项目中配置编译的装置和方法,该装置包括:配置文件生成模块,用于生成配置文件,所述配置文件包含更改后的硬件配置特性;设备树文件生成模块,用于生成设备树文件,所述设备树文件包含更改后的硬件参数值;编译脚本修改模块,用于在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所述安卓项目编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置;打包脚本生成模块,用于建立打包脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路径。本发明能够缩短安卓项目在硬件配置发生变化时的开发周期,节省人力物力。
【IPC分类】G06F9/45
【公开号】CN105607941
【申请号】CN201510833598
【发明人】钟凡, 杨海晓
【申请人】上海斐讯数据通信技术有限公司
【公开日】2016年5月25日
【申请日】2015年11月25日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1