编译AOSP ROM时,能否自动添加自定义build.prop参数?
自动给AOSP ROM的build.prop添加自定义参数的方法
嘿,我刚好折腾过AOSP编译时自动修改build.prop的需求,给你几个实用的方案,完全不用手动改了:
1. 用PRODUCT_PROPERTY_OVERRIDES(最推荐)
这是AOSP构建系统专门用来添加/覆盖系统属性的变量,比PRODUCT_BUILD_PROP_OVERRIDES更通用——后者主要是针对构建描述、指纹这类特定属性的。
你只需要在你的设备配置文件(比如device/[厂商]/[设备型号]/device.mk,或者对应的product.mk)里添加:
PRODUCT_PROPERTY_OVERRIDES += \ ro.my.custom.param1=your_value_here \ ro.my.custom.param2=another_value
编译的时候,这些属性会自动被注入到最终生成的build.prop里,完全不用手动操作。
2. 用add_build_prop函数
如果需要更灵活的控制(比如根据编译条件动态添加),可以用AOSP提供的add_build_prop函数,同样在设备的makefile里调用:
add_build_prop ro.my.custom.param1 your_value_here add_build_prop ro.my.custom.param2 another_value
这个函数会直接把属性追加到build.prop中,效果和上面的方法一致,适合有条件判断的场景。
3. 修改全局build.prop模板(谨慎使用)
如果你想给所有编译的产品都添加这些属性,可以修改build/tools/buildinfo.sh脚本,在合适的位置添加:
echo "ro.my.custom.param1=your_value_here" >> $BUILD_INFO echo "ro.my.custom.param2=another_value" >> $BUILD_INFO
不过注意,这个是全局修改,会影响所有基于这个AOSP源码编译的设备,如果你只针对特定设备,还是前两个方法更合适。
总结一下:PRODUCT_PROPERTY_OVERRIDES是官方推荐的添加自定义属性的方式,简单直接,完全满足你的需求,不用再手动修改build.prop啦!
内容的提问来源于stack exchange,提问作者V_v3k




