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

文档序号:9843962阅读:218来源:国知局
一种安卓项目中配置编译的装置和方法
【技术领域】
[0001] 本发明涉及计算机网络领域,特别是涉及一种安卓项目中配置编译的装置和方 法。
【背景技术】
[0002] 随着移动互联网的飞速发展,各种配置(包括硬件平台和外围设备)的安卓设备层 出不穷,不同硬件平台(例如,高通的平台、华为的平台等),不同外围设备(例如内存、摄像 头等)的安卓配置都有,同一硬件平台不同外围配置的安卓设备也十分丰富。
[0003] 开发人员在针对一款安卓设备进行安卓系统开发的过程中,基于成本、性能等各 方面的考虑,很可能出现需求变更的情况,有可能该设备的配置发生了变化,例如,设备的 内存需要增加,从512M扩大为1G。此时,往往需要重新立项,修改源代码、重新建立工程代码 库,导致开发周期过长,严重影响产品快速上市,浪费人力物力。
[0004] 可见,现有技术中,存在设备配置发生变化时无法重用现有项目,开发周期过长的 缺陷。

【发明内容】

[0005] 本发明主要解决的技术问题是提供一种安卓项目中配置编译的装置和方法,能够 缩短安卓项目在硬件配置发生变化时的开发周期,节省人力物力,提高开发效率。
[0006] 为解决上述技术问题,本发明采用的一个技术方案是:提供一种安卓项目中配置 编译的装置,该装置包括配置文件生成模块,用于生成配置文件,所述配置文件包含更改后 的硬件配置特性;设备树文件生成模块,用于生成设备树文件,所述设备树文件包含更改后 的硬件参数值;编译脚本修改模块,用于在编译脚本中添加所述配置文件和所述设备树文 件的访问方式,以便对所述安卓项目编译时能获取所述配置文件和所述设备树文件中的信 息进行编译环境的配置;打包脚本生成模块,用于建立打包脚本,所述打包脚本包含所述更 改后硬件对应映像文件的生成路径。
[0007] 为解决上述技术问题,本发明采用的一个技术方案是:提供一种安卓项目中配置 编译的方法,该方法包括生成配置文件,所述配置文件包含更改后的硬件配置特性;生成设 备树文件,所述设备树文件包含更改后的硬件参数值;在编译脚本中添加所述配置文件和 所述设备树文件的访问方式,以便对所述安卓项目编译时能获取所述配置文件和所述设备 树文件中的信息进行编译环境的配置;建立打包脚本,所述打包脚本包含所述更改后硬件 对应映像文件的生成路径。
[0008] 区别于现有技术,本发明的安卓项目中配置编译的装置,用于生成配置文件,所述 配置文件包含更改后的硬件配置特性;生成设备树文件,所述设备树文件包含更改后的硬 件参数值;在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所述安 卓项目编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置;建立 打包脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路径;从而能够缩短安 卓项目在硬件配置发生变化时的开发周期,节省人力物力,提高开发效率。
【附图说明】
[0009] 图1是本发明安卓项目中配置编译的装置的第一实施方式的结构示意图;
[0010] 图2是本发明安卓项目中配置编译的装置的第二实施方式的结构示意图;
[0011] 图3是本发明安卓项目中配置编译的方法的第一实施方式的流程示意图。
【具体实施方式】
[0012] 下面结合【具体实施方式】对本发明的技术方案作进一步更详细的描述。显然,所描 述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于 本发明保护的范围。
[0013] 参阅图1,图1是本发明提供的安卓项目中配置编译的装置的第一实施方式的结构 示意图,用于所述安卓项目开发过程中硬件配置发生了更改时。
[0014] 该安卓项目中配置编译的装置100包括:配置文件生成模块110,设备树文件生成 模块120,编译脚本修改模块130,打包脚本生成模块140。
[0015] 其中,配置文件生成模块110,用于生成配置文件,所述配置文件包含更改后的硬 件配置特性。
[0016] 具体的,生成的配置文件是defconfig配置文件,并且可以存放在例如LINUX/ 8η(1;Γ〇?(?Αθ;Γηθ1/&;Γ(Λ/&;πιι/(3〇η?^3/{ι^· ;?§φ〇
[0017] 设备树文件生成模块120,用于生成设备树文件,所述设备树文件包含更改后的硬 件参数值。
[0018] 具体的,生成的设备树文件是dts类型的文件,并且可以存放在例如LINUX/ android/kernel/arch/arm/boot/路径中。
[0019] 编译脚本修改模块130,用于在编译脚本中添加所述配置文件和所述设备树文件 的访问方式,以便对所述安卓项目编译时能获取所述配置文件和所述设备树文件中的信息 进行编译环境的配置。
[0020] 具体的,可以是在编译脚本中增加编译选项,然后在编译选项中包含defconfig配 置文件和dts类型的设备树文件的访问路径,以便编译时能正确选择构建编译环境所需要 用到的硬件特性和参数。
[0021] 打包脚本生成模块140,用于建立打包脚本,所述打包脚本包含所述更改后硬件对 应映像文件的生成路径。
[0022]具体的,所述映像文件是image文件。
[0023]因为对于不同的硬件配置,其对应项目生成的image文件需要存放在不同路径。需 要在打包脚本中给出所述路径,例如:out/target/product/〈更改后硬件平台的标识>/。
[0024] 本装置修改了现有的编译流程,将硬件特性和参数提取出来、存放在配置文件中 和设备树文件中,编译时直接访问这两个文件,根据硬件特性和参数配置的编译环境能够 和更改后硬件相对应,因此避免了修改源代码。
[0025] 区别于现有技术,本发明的安卓项目中配置编译的装置,生成配置文件,所述配置 文件包含更改后的硬件配置特性;生成设备树文件,所述设备树文件包含更改后的硬件参 数值;在编译脚本中添加所述配置文件和所述设备树文件的访问方式,以便对所述安卓项 目编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置;建立打包 脚本,所述打包脚本包含所述更改后硬件对应映像文件的生成路径;从而能够缩短安卓项 目在硬件配置发生变化时的开发周期,节省人力物力,提高开发效率。
[0026] 参阅图2,图2是本发明提供的安卓项目中配置编译的装置的第二实施方式的结构 示意图,用于所述安卓项目开发过程中硬件配置发生了更改时。
[0027] 该安卓项目中配置编译的装置200包括:配置文件生成模块210,设备树文件生成 模块220,编译脚本修改模块230,打包脚本生成模块240。
[0028] 其中,配置文件生成模块210包括配置文件创建单元211、配置项添加单元212和存 放单元213。
[0029] 配置文件创建单元211用于创建一个新的defconfig配置文件。
[0030] 配置项添加单元212用于在所述defconfig配置文件中增加⑶NFIG配置项,所述 CONFIG配置项包括更改后的硬件配置特性。
[0031] 例如,CONFIG配置项的内容如下:
[0032]
[0033]
[0034] 在以上各项配置项中,"="号前面的字符串是特性名称,后面的值表示是否支持, 其中y表示支持,η表示不支持。
[0035]存放单元213用于将所述defconfig配置文件存放在指定配置文件夹中。例如,存 放在安卓源代码路径 LINUX/android/kernel/arch/arm/configs/中。
[0036]设备树文件生成模块220包括设备树文件创建单元221,配置项添加单元222和存 放单元223。
[0037]设备树文件创建单元221用于创建一个新的dts类型的设备树文件。例如,创建的 设备树文件名为:device-tree · dts。
[0038] 配置项添加单元222用于在所述设备树文件中增加 board-id配置项,所述配置项 包括更改后的硬件参数值。具体的,board-id配置项的格式如<board-id>xxx〈/board-id>, 其中XXX代表具体的硬件参数值大小,并且以十六进制表示,例如<board-id>FFFFF〈/ board-id>。其中,设备树文件的硬件参数和defconfig配置文件描述的硬件是相当应的,SP 设备树文件的硬件参数值对应defconfig配置文件中支持的硬件。
[0039] 存放单元223用于将所述设备树文件存放在指定启动文件夹中。例如,存放在 LINUX/android/kernel/arch/arm/boot/路径中,或者存放在以上目录下为该项目再生成 的子目录,例如,LINUX/android/kernel/a;rch/a;rm/boot/C730Lw-dts,其中C730Lw可以是 项目名称。
[0040]编译脚本修改模块230包含编译选项添加单元231,用于在所述编译脚本中添加编 译选项,所述编译选项包含所述配置文件和设备树文件的访问方式,以便对所述安卓项目 编译时能获取所述配置文件和所述设备树文件中的信息进行编译环境的配置。
[0041 ]具体的,可以是在编译选项中包含defconfig配置文件和dts类型的设备树文件的 访问路径,以便编译时能正确选择构建编译环境所需要用到的硬件特性和参数。
[0042]具体的,linux编译系统就会根据该编译选项获取并解析defconfig配置文件,将 defconfig文件中包含的硬件配置特性读到内存并逐项解析,解析结果会保存在编译系统 对应的编译变量中,紧接着根据该编译选项读取device-tree. dts设备树文件,取硬件参数 值,例如内存值在HAL层做配置,并将EMMC等设备的驱动程序加载进来。当内核和HAL层驱动 配置完后,系统开始正式编译,本方案实施例中首先编译衍生项目配置部分,然后再编译MP (Modem)程序,最后编译4?(&卩卩1;[。31:;[011)部分。
[0043]打包脚本生成模块240,用于建立打包脚本,所述打包脚本包含所述更改后硬件对 应映像文件的生成路径。
[0044]具体的,所述映像文件是image文件。
[0045]因为对于不同的硬件配置,其对应项目生成的image文件需要存放在不同路径。需 要在
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1