您的位置:首页 > 数据 >
Makefile宏控是什么?宏控与systemProperty取名对应
来源:CSDN 2022-12-21 14:57:56

宏控


(资料图片仅供参考)

宏基础概念宏控命名 SystemProperties命名规则使用规则宏控与systemProperty取名对应 宏控示例

基础概念

是什么 在make文件中使用,相当于功能开关,是控制代码执行的条件。为何用 需要暂时去掉这个功能,一个宏控就能解决,而不是一个文件一个文件删掉添加的代码; 在不同项目配置不同的值。如何用 AOSP,Android Open Source Project AOSP系统中: ①mk文件中显式使用的宏控;如MTK_MULTISIM_RINGTONE_SUPPORT ②代码中起控制作用的system property。如ro.mtk_multisim_ringtone 控制的是同一个功能。

宏控命名

①能正确反映功能含义,要求可读性强 ,避免歧义。 铃声:RING/RINGTONE 解锁/锁屏声音:UNLOCK_SOUND/LOCK_SOUND 音量加/减:VOLUME_UP/DOWN ②针对默认开启/关闭,或者移除菜单等功能,宏控命名时要体现出来 SUPPORTED ENABLE/DISABLE REMOVE ③宏控的取值除了yes/no,也可以定义为字符串或数字,对应到SystemProperty的四种取值类型(int、long、boolean、string)。

SystemProperties

命名规则

①name :字符长度最多31。value :字符长度最多91。 ②可以使用数字、字母、中划线”-“、下划线”_”、点”.” ③命名时慎用点“.”。比如命名ro.bird.timeout会比ro.bird_timeout占用更多内存。 ④bird内部SystemProperties分类: ro.bdsys.xxx_xxx_xxx 系统功能相关的 ro.bdui.xxx_xxx_xxx UI改进相关的 ,新ui ro.bdfun.xxx_xxx_xxx 独立功能,例如tpwake,tpproximity, ro.bdmisc.xxx_xxx_xxx 其他

使用规则

①如果在定义时property被多次赋值,最终起效果的是第一个。 ②common.mk中定义的systemProperty最终会输入到system/build.prop文件。 ③systemProperty有int、long、boolean、string四种类型。使用时需要引包android.os.SystemProperties。具体api参考文件alps\frameworks\base\core\java\android\os\SystemProperties.java ④最好不要在循环中使用SystemProperties.getxxx()方法。

宏控与systemProperty取名对应

①宏控和property取名一样。 宏名一律大写,property一律小写,大小写对应: BIRD_DOOV_SOUND 对应 ro.bdfun.doov_sound ②如果宏控名字太长,改成小写后超过31个字符,property可以适当采用缩写: BIRD_MUSIC_WIDGET_PREVIOUS_BUTTON 对应 ro.bdfun.music_widget_prev_btn

宏控示例

功能:铃声 宏控:ENABLE_RINGTONE ENABLE_RINGTONE = true/false property:ro.bdfun.psensor_calibrate = true/false (1)在哪里定义宏控(包含但不仅限于) 开发增加宏控,一般在下列文件①中增加: ①chi-cdk/configs/camera_product_common.mk ifeq ($(strip $(ENABLE_RINGTONE)),true) PRODUCT_PACKAGES += libproximityjni PRODUCT_PROPERTY_OVERRIDES += ro.config.ringtone = true 【注1】 endif ②json文件配置 {“name”: “ENABLE_RINGTONE”, “value”: “true”, “type”: “product.mk” } (2)在哪里打开宏控 在项目的make中添加宏控: alps\bird\make[proj][proj] .mak BIRD_PROXIMITY_CALIBRATION=yes 【注4】 (3)快速验证 可以将property宏控加到system/build.prop中,重启手机快速打开功能。 adb pull system/build.prop . adb push bulid.prop system/ adb shell chmod 644 system/build.prop 对于user软件,可以将property宏控加到system\build.prop,打包system.img,重下软件验证。 【注1】在脚本文件中定义宏ENABLE_RINGTONE ,同时绑定与ro.config.ringtone的关系

关键词:
相关文章
12月第一周宁夏煤炭价格继续持平-环球新动态

12月第一周宁夏煤炭价格继续持平-环球新动态

  商务部重要生产资料市场监测系统数据显示,上周(11月28日-12月4日),宁夏煤炭价格132667元吨,持平,其中无烟煤、动力煤、炼焦煤均持平更多

2022-12-21 09:56:42
12月第二周广东省煤炭价格小幅上涨

12月第二周广东省煤炭价格小幅上涨

  据广东省重要生产资料市场监测系统显示,上周(12月5日至12月11日),广东省煤炭均价1523元吨,环比上涨66%。原因分析:当前煤炭产能受控更多

2022-12-21 10:17:52
12月第一周云南省煤炭价格环比略涨-头条焦点

12月第一周云南省煤炭价格环比略涨-头条焦点

  据商务部重要生产资料市场监测系统显示,上周(2022年11月28日-12月4日),云南省煤炭均价为14244元吨,环比上涨02%。其中,动力煤均价83更多

2022-12-21 10:04:04
11月份山西煤炭价格整体下跌

11月份山西煤炭价格整体下跌

  监测系统数据显示:11月份山西煤炭价格整体下跌。煤炭平均价格为128685元吨,环比下跌15%。其中:无烟煤2号洗选块煤平均价格为15742元吨,更多

2022-12-21 10:13:42
需求偏弱 煤炭市场难言支撑

需求偏弱 煤炭市场难言支撑

  近期市场情况综述  产地市场近期价格小幅回落,榆林地区回落相对明显。供应端主产区整体维持正常生产,汽运运力也较为充足,发改委要求更多

2022-12-21 10:10:35
胜利能源煤炭产销逾2600万吨创历史新高

胜利能源煤炭产销逾2600万吨创历史新高

  截至12月15日,国家能源集团胜利能源煤炭产销年累计完成26003万吨,同比增长1904万吨,创历史新高,提前16天完成全年煤炭产销任务。  今更多

2022-12-21 09:17:40
青海省推动疫情防控期间煤电油气稳定供应-要闻速递

青海省推动疫情防控期间煤电油气稳定供应-要闻速

  青海省发改委消息,10月下旬以来,省内多地出现新冠肺炎疫情,正值迎峰度冬能源保供的关键时期,省发展改革委积极协调相关部门、企业努力更多

2022-12-21 09:17:23
榆林市发改委:预计12月煤价或将在窄幅区间小幅波动-世界新消息

榆林市发改委:预计12月煤价或将在窄幅区间小幅波

  榆林市发改委消息,11月份全市动力煤市场交投活跃度不高,产地局部地区窄幅上下调整,其中陕蒙市场涨跌互现,港口市场则承压下行,与上月更多

2022-12-21 09:00:00
新朔铁路货物煤炭运量均破1.5亿吨大关-天天观速讯

新朔铁路货物煤炭运量均破1.5亿吨大关-天天观速讯

  截至12月15日,国家能源集团新朔铁路年累计货物发运量达151094万吨,其中煤炭发运量150024万吨,货物、煤炭运量均突破15亿吨大关,能源保更多

2022-12-20 10:04:39
山西:强煤矿装备 固安全根基-全球信息

山西:强煤矿装备 固安全根基-全球信息

  记者近日从国家矿山安监局山西局了解到,山西省严格落实强装备、夯基础的工作要求,推广先进适用装备,淘汰落后技术装备,提升了煤矿本质更多

2022-12-20 09:58:52