[转]Android lunch添加自定义项目编译

前言全局说明

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


免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:



posted @ 2025-01-06 10:40  悟透  阅读(218)  评论(0)    收藏  举报