Android编译过程比较长,配置起来也很麻烦。现仅就工作遇到的问题做个总结。 所用硬件平台为amlogic stvm3。 --------------------------------------------------------------------------- 关于版本号: 文件build/core/version_defaults.mk用来检查一些跟版本相关的变量是否定义;如果未定义,则使用默认值。 这些变量包括 --------------------------------------------------------------------------- 关于调试功能(adb)的开启 编译android源码之前总是要先运行build/envsetup.sh,以初始化一些常用命令(实际上是bash的函数,如add_lunch_combo)。 其中也从以下文件中引入了一些编译设置: 我们这里使用的CHIPSET_VENDOR为amlogic。 比如我们有文件device/amlogic/vendorsetup.sh,内容为"产品名-编译类型(flavor)"列表(称为combo),如下: 其中,m1ref和stvm3是产品名(作前缀),后面为编译类型。 除此前缀外可选的combo值有: eng, user, userdebug, tests。 (参考文件build/core/main.mk中对于变量TARGET_BUILD_VARIANT的筛查条件) 我们可以修改vendorsetup.sh文件,来改变为特定设备编译的结果。 以下是各个编译类型的特点: |