Android如何增加一个product
添加过程可分为以下几步。 1、根据公司名称新建一个包含脚本文件的文件夹。假设我们的公司名称为smc,这个产品名称定为k,那么可以在device目录下执行以下命令,创建相应的文件夹。 cd path/to/android cd vendor mkdir –p smc/k 2、在k目录下新建一个AndroidProducts.mk文件。注意,这个文件的名称是固定的,不能修改,并且该文件的内容应该仅仅是为变量PRODUCT_MAKEFILES赋值,如以下代码所示。 #device/smc/k/AndroidProducts.mk PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/k.mk 3、新建一个上一步中指定的mk脚本文件,并在该文件中对product相关的变量赋值,最简单的情况如以下代码所示。 #k.mk PRODUCT_PACKAGES :=\ helloMake PRODUCT_NAME :=full_k PRODUCT_DEVICE :=k RPODUCT_DRAND := Android 4、在以上目录中新建一个BoardConfig.mk文件,名称必须是固定的,因为编译中枢需要该文件,哪怕该文件的内容为空。由于本例仅仅是为了演示如何新建一个product,而该product并没有真正的Linux内核,也没有相应的音频库,出没有camera库,因此,可以在BoardConfig.mk文件中对相关的变量做以下赋值,否则不能正确编译。 TARGET_CPU_ABI := armeabi-v7a TARGET_NO_BOOTLOADER := true TARGET_NO_KERNEL := true #no real audio,so use generic BOARD_USES_GENERIC_AUDIO := true #no hardware camera USE_CAMERA_STUB := true 下面来验证该product的有效性。 首先修改Android根目录下的Makefile的内容如下: ### DO NOT EDIT THIS FILE ### Include build/core/main.mk $(call dump-product,device/smc/k/k.mk) ### DO NOT EDIT THIS FILE ### 然后就可以使用make PRODUCT-full_k-eng,编译完毕后的输出中将包含名称为k的product的相关变量值。 以上就完成了定义一个最简单的product模型,在实际应用中,特定的product一般还需要包含一些私有的项目或者文件。
|