前言全局说明
Android lunch添加自定义项目编译
一、说明
原文:https://blue-bird1.github.io/posts/aosp-3/
二、新建device和product
在编译时已经知道 编译时需要选择编译目标.而编译目标在AndroidProducts.mk 这种文件下设置
参考redroid 可知要新建一个device 首先在device目录下创建一个子目录 例如 device/bluebird
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/redroid_x86_64.mk \
$(LOCAL_DIR)/redroid_x86_64_only.mk \
$(LOCAL_DIR)/redroid_arm64.mk \
$(LOCAL_DIR)/redroid_arm64_only.mk \
COMMON_LUNCH_CHOICES := \
redroid_x86_64-userdebug \
redroid_x86_64_only-userdebug \
redroid_arm64-userdebug \
redroid_arm64_only-userdebug \
2.2 然后创建一个AndroidProducts.mk
# 这两个是一一对应关系,如果文件同名 `bluebird_redroid_x86_64.mk` 可以省略前面
bluebird_redroid_x86_64:
PRODUCT_MAKEFILES := \
bluebird_x86_64:$(LOCAL_DIR)/bluebird.mk
COMMON_LUNCH_CHOICES := \
bluebird_x86_64-userdebug
2.3 然后新建一个bluebird.mk
# 直接复制redroid的配置
$(call inherit-product, $(LOCAL_PATH)/../redroid/redroid_x86_64_only.mk)
# 定义自己产品的名字
PRODUCT_NAME := bluebird_x86_64_only
PRODUCT_DEVICE := bluebird_x86_64_only
PRODUCT_BRAND := blulebird
PRODUCT_MODEL := bluebird_x86_64_only
2.4 再新建一个 bluebird_x86_64_only/BoardConfig.mk
# 直接导入redroid的对应配置
include device/redroid/redroid_x86_64_only/BoardConfig.mk
四、最后结果
4.1 目录结构
命令:tree device/bluebird/
device/bluebird/
|-- AndroidProducts.mk
|-- README.md
|-- bluebird.mk
`-- bluebird_x86_64_only
`-- BoardConfig.mk
4.2 然后就能进行
lunch bluebird_x86_64_only-userdebug
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源: