AOSP-基于iPhone这个品牌,我们创建iPhone12这个产品
我这个说法其实不对的,iPhone不是个品牌,是个产品。苹果才是品牌。
这个我打算在课程里再修正吧,文章大家懂了就行。
我们以创建iphone12为例子
首先,我们复制一份device/iphone作为device/iphone12

然后呢?修改我们的编译项,vendorsetup.sh,修改相关的设备名,品牌名之类的。
add_lunch_combo iphone12-userdebug
不过同学们要注意了:
- iphone12-userdebug这个iphone12的名字要和AndroidProducts.mk里的iphone12.mk对应,也就是我们要把iphone.mk改成iphone12.mk
- PRODUCT_NAME := iphone12也被我修改了
- PRODUCT_DEVICE := iphone12_x86这个要跟iphone12/iphone12_x86这个文件夹的名字匹配
- PRODUCT_BRAND := iPhone
- PRODUCT_MODEL := AOSP iPhone12 on x86 Emulator
以上内容,修改相关的配置
接下来我们先修改一个文件目录结构,把常修改的东西独立出来,比如说跟产品配置有关的,我们在iphone12下创建一个custom的文件夹,里面创建一个ProdutConfig.mk文件。

在哪里引入呢?
我们可以iphone12.mk里引入
$(call inherit-product, device/iphone/custom/ProductConfig.mk)
接着,我们是不是可以把我们需要编译哪些软件,哪些库,使用什么样的开机动画,产品名称,版本号之类的这些东西都在ProductConfig.mk里进行配置了呀。