一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

Makefile宏控是什么?宏控與systemProperty取名對(duì)應(yīng)

來源:CSDN 時(shí)間:2022-12-20 15:11:25

宏控

宏基礎(chǔ)概念宏控命名 SystemProperties命名規(guī)則使用規(guī)則宏控與systemProperty取名對(duì)應(yīng) 宏控示例


【資料圖】

基礎(chǔ)概念

是什么 在make文件中使用,相當(dāng)于功能開關(guān),是控制代碼執(zhí)行的條件。為何用 需要暫時(shí)去掉這個(gè)功能,一個(gè)宏控就能解決,而不是一個(gè)文件一個(gè)文件刪掉添加的代碼; 在不同項(xiàng)目配置不同的值。如何用 AOSP,Android Open Source Project AOSP系統(tǒng)中: ①mk文件中顯式使用的宏控;如MTK_MULTISIM_RINGTONE_SUPPORT ②代碼中起控制作用的system property。如ro.mtk_multisim_ringtone 控制的是同一個(gè)功能。

宏控命名

①能正確反映功能含義,要求可讀性強(qiáng) ,避免歧義。 鈴聲:RING/RINGTONE 解鎖/鎖屏聲音:UNLOCK_SOUND/LOCK_SOUND 音量加/減:VOLUME_UP/DOWN ②針對(duì)默認(rèn)開啟/關(guān)閉,或者移除菜單等功能,宏控命名時(shí)要體現(xiàn)出來 SUPPORTED ENABLE/DISABLE REMOVE ③宏控的取值除了yes/no,也可以定義為字符串或數(shù)字,對(duì)應(yīng)到SystemProperty的四種取值類型(int、long、boolean、string)。

SystemProperties

命名規(guī)則

①name :字符長(zhǎng)度最多31。value :字符長(zhǎng)度最多91。 ②可以使用數(shù)字、字母、中劃線”-“、下劃線”_”、點(diǎn)”.” ③命名時(shí)慎用點(diǎn)“.”。比如命名ro.bird.timeout會(huì)比ro.bird_timeout占用更多內(nèi)存。 ④bird內(nèi)部SystemProperties分類: ro.bdsys.xxx_xxx_xxx 系統(tǒng)功能相關(guān)的 ro.bdui.xxx_xxx_xxx UI改進(jìn)相關(guān)的 ,新ui ro.bdfun.xxx_xxx_xxx 獨(dú)立功能,例如tpwake,tpproximity, ro.bdmisc.xxx_xxx_xxx 其他

使用規(guī)則

①如果在定義時(shí)property被多次賦值,最終起效果的是第一個(gè)。 ②common.mk中定義的systemProperty最終會(huì)輸入到system/build.prop文件。 ③systemProperty有int、long、boolean、string四種類型。使用時(shí)需要引包android.os.SystemProperties。具體api參考文件alps\frameworks\base\core\java\android\os\SystemProperties.java ④最好不要在循環(huán)中使用SystemProperties.getxxx()方法。

宏控與systemProperty取名對(duì)應(yīng)

①宏控和property取名一樣。 宏名一律大寫,property一律小寫,大小寫對(duì)應(yīng): BIRD_DOOV_SOUND 對(duì)應(yīng) ro.bdfun.doov_sound ②如果宏控名字太長(zhǎng),改成小寫后超過31個(gè)字符,property可以適當(dāng)采用縮寫: BIRD_MUSIC_WIDGET_PREVIOUS_BUTTON 對(duì)應(yīng) ro.bdfun.music_widget_prev_btn

宏控示例

功能:鈴聲 宏控:ENABLE_RINGTONE ENABLE_RINGTONE = true/false property:ro.bdfun.psensor_calibrate = true/false (1)在哪里定義宏控(包含但不僅限于) 開發(fā)增加宏控,一般在下列文件①中增加: ①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)在哪里打開宏控 在項(xiàng)目的make中添加宏控: alps\bird\make[proj][proj] .mak BIRD_PROXIMITY_CALIBRATION=yes 【注4】 (3)快速驗(yàn)證 可以將property宏控加到system/build.prop中,重啟手機(jī)快速打開功能。 adb pull system/build.prop . adb push bulid.prop system/ adb shell chmod 644 system/build.prop 對(duì)于user軟件,可以將property宏控加到system\build.prop,打包system.img,重下軟件驗(yàn)證。 【注1】在腳本文件中定義宏ENABLE_RINGTONE ,同時(shí)綁定與ro.config.ringtone的關(guān)系

責(zé)任編輯:

標(biāo)簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top 主站蜘蛛池模板: 遵义市| 阿勒泰市| 阳城县| 沙洋县| 古交市| 来宾市| 彰化县| 北海市| 水城县| 天镇县| 霍林郭勒市| 林西县| 册亨县| 湖北省| 体育| 如东县| 阳东县| 黄陵县| 玛多县| 陇川县| 阳曲县| 习水县| 承德市| 车致| 九江市| 高邮市| 安庆市| 八宿县| 阿鲁科尔沁旗| 汉中市| 汤原县| 柳州市| 汾西县| 襄城县| 田阳县| 南江县| 名山县| 罗源县| 湘乡市| 东辽县| 德保县|