聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

Makefile宏控是什么?宏控與systemProperty取名對應

來源:CSDN 時間:2022-12-20 15:11:25

宏控

宏基礎概念宏控命名 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的關系

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 岛国精品在线