# 电é‡ç‰çº§å®šåˆ¶å¼€å‘指导 ## 概述 ### 简介 OpenHarmony默认æä¾›äº†ç”µé‡ç‰çº§ï¼Œæ ¹æ®å½“å‰çš„ç”µé‡æ¥å®šä¹‰ç³»ç»Ÿç»Ÿä¸€çš„电é‡ç‰çº§ï¼Œå¦‚满电é‡ã€é«˜ç”µé‡ã€ä½Žç”µé‡ã€æžä½Žç”µé‡ç‰ã€‚系统å¯ä»¥æ ¹æ®å½“å‰çš„电é‡ç‰çº§å¯¹ç”¨æˆ·è¿›è¡Œæç¤ºæˆ–处ç†ç›¸å…³ä¸šåŠ¡ã€‚ä½†æ˜¯ç”µé‡ç‰çº§å¯¹åº”的电é‡å€¼åœ¨ä¸åŒçš„产å“ä¸Šè§„æ ¼æ˜¯ä¸åŒçš„,产å“å¸Œæœ›æ ¹æ®äº§å“çš„è®¾è®¡è§„æ ¼æ¥å®šåˆ¶æ¤ç‰¹æ€§ã€‚为æ¤OpenHarmonyæä¾›äº†ç”µé‡ç‰çº§çš„定制方å¼ï¼Œäº§å“定制开å‘è€…å¯æ ¹æ®è®¾è®¡è§„æ ¼æ¥å®šåˆ¶æ¤ç‰¹æ€§ã€‚ ### 约æŸä¸Žé™åˆ¶ é…ç½®ç–略: 产å“定制的é…ç½®è·¯å¾„ï¼Œéœ€è¦æ ¹æ®[é…ç½®ç–ç•¥](https://gitee.com/openharmony/customization_config_policy)å†³å®šã€‚æœ¬å¼€å‘æŒ‡å¯¼ä¸çš„定制路径以/vendor进行举例,请开å‘è€…æ ¹æ®å…·ä½“的产å“é…ç½®ç–略,修改定制路径。 ## 开呿Œ‡å¯¼ ### æå»ºçŽ¯å¢ƒ è®¾å¤‡è¦æ±‚: æ ‡å‡†ç³»ç»Ÿå¼€å‘æ¿ï¼Œå¦‚DAYU200/Hi3516DV300å¼€æºå¥—件。 çŽ¯å¢ƒè¦æ±‚: Linuxè°ƒæµ‹çŽ¯å¢ƒï¼Œç›¸å…³è¦æ±‚å’Œé…ç½®å¯å‚考《[快速入门](../quick-start/quickstart-overview.md)》 ### 开呿¥éª¤ 本文以[DAYU200](https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568)为例介ç»ç”µé‡ç‰çº§çš„定制方法。 1. 在产å“目录[(/vendor/hihope/rk3568)](https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568)下创建battery文件夹。 2. å‚考[默认电é‡ç‰çº§é…置文件夹](https://gitee.com/openharmony/powermgr_battery_manager/tree/master/services/native/profile)åˆ›å»ºç›®æ ‡æ–‡ä»¶å¤¹ï¼Œå¹¶å®‰è£…åˆ°`//vendor/hihope/rk3568/battery`ç›®å½•ä¸‹ï¼Œæ–‡ä»¶æ ¼å¼å¦‚下: ```text profile ├── BUILD.gn ├── battery_config.json ``` 3. å‚考[默认电é‡ç‰çº§çš„é…置文件夹ä¸çš„battery_config.json](https://gitee.com/openharmony/powermgr_battery_manager/blob/master/services/native/profile/battery_config.json)编写定制的battery_config.json,包å«å®šåˆ¶åŽçš„电é‡ç‰çº§é…置如下: ```json { "soc": { "shutdown": 5, "critical": 10, "warning": 15, "low": 30, "normal": 60, "high": 90, "full": 100 } } ``` **表1** 电é‡ç‰çº§é…置说明 | 电é‡ç‰çº§ | ç”µé‡ | 说明 | | -------- | -------- | -------- | | shutdown | 5 | å…³æœºç”µé‡ | | critical | 10 | æžä½Žç”µé‡ | | warning | 15 | 告è¦ç”µé‡ | | low | 30 | ä½Žç”µé‡ | | normal | 60 | æ£å¸¸ç”µé‡ | | high | 90 | é«˜ç”µé‡ | | full | 100 | æ»¡ç”µé‡ | 4. å‚考[默认电é‡ç‰çº§çš„é…置文件夹ä¸çš„BUILD.gn](https://gitee.com/openharmony/powermgr_battery_manager/blob/master/services/native/profile/BUILD.gn)编写BUILD.gn文件,将battery_config.json打包到`//vendor/etc/battery`目录下,é…置如下: ```shell import("//build/ohos.gni") #引用build/ohos.gni ohos_prebuilt_etc("battery_config") { source = "battery_config.json" relative_install_dir = "battery" install_images = [ chipset_base_dir ] #安装到vendor目录下的必è¦é…ç½® part_name = "product_rk3568" #part_name为product_rk3568,以实现åŽç»ç¼–译 } ``` 5. å°†ç¼–è¯‘ç›®æ ‡æ·»åŠ åˆ°`/vendor/hihope/rk3568`目录下[ohos.build](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/ohos.build)çš„"module_list"ä¸ï¼Œä¾‹å¦‚: ```json { "parts": { "product_rk3568": { "module_list": [ "//vendor/hihope/rk3568/default_app_config:default_app_config", "//vendor/hihope/rk3568/image_conf:custom_image_conf", "//vendor/hihope/rk3568/preinstall-config:preinstall-config", "//vendor/hihope/rk3568/resourceschedule:resourceschedule", "//vendor/hihope/rk3568/etc:product_etc_conf", "//vendor/hihope/rk3568/battery/profile:battery_config" #æ·»åŠ battery_config的编译 ] } }, "subsystem": "product_hihope" } ``` “//vendor/hihope/rk3568/battery/â€ä¸ºæ–‡ä»¶å¤¹è·¯å¾„,“profileâ€ä¸ºåˆ›å»ºçš„æ–‡ä»¶å¤¹åå—,“battery_configâ€ä¸ºç¼–è¯‘ç›®æ ‡ã€‚ 6. å‚考《[快速入门](../quick-start/quickstart-overview.md)》编译定制版本,编译命令如下: ```shell ./build.sh --product-name rk3568 --ccache ``` 7. 将定制版本烧录到DAYU200开呿¿ä¸ã€‚ ### è°ƒæµ‹éªŒè¯ 1. 开机åŽï¼Œè¿›å…¥shell命令行: ``` hdc shell ``` 2. è¿›å…¥ç”µæ± ç”µé‡çš„节点路径(以当å‰DAYUå¼€å‘版路径为例)。 ``` cd /data/service/el0/battery/battery/ ``` 3. é»˜è®¤å……ç”µç±»åž‹çš„æ˜ å°„é…置数æ®ä¸ºä¾‹ï¼Œä¿®æ”¹å……电状æ€ï¼Œæ¨¡æ‹Ÿç”µæ± ä¿¡æ¯ä¸ŠæŠ¥ï¼Œè§‚察å‘逿˜¯å¦å‘é€å¯¹åº”充电类型广æ’。 1. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 100 > capacity ``` 2. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 3. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:22:48.589 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 1 ······ ``` 4. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 90 > capacity ``` 5. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 6. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:24:29.716 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 2 ······ ``` 7. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 60 > capacity ``` 8. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 9. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:25:09.837 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 3 ······ ``` 10. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 30 > capacity ``` 11. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 12. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:26:20.495 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 4 ······ ``` 13. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 15 > capacity ``` 14. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 15. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:27:05.312 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 5 ······ ``` 16. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 10 > capacity ``` 17. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 18. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:27:56.270 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 6 ······ ``` 19. 修改电é‡ä¿¡æ¯ã€‚ ``` echo 5 > capacity ``` 20. 上报电é‡ä¿¡æ¯æ”¹å˜ï¼ŒèŽ·å–当å‰ç”µé‡ç‰çº§ã€‚ ``` hidumper -s 3302 -a -i ``` 21. æˆåŠŸèŽ·å–电é‡ç‰çº§å¦‚下: ``` -------------------------------[ability]------------------------------- ----------------------------------BatteryService--------------------------------- Current time: 2017-08-05 17:28:38.066 ······(çœç•¥å…¶ä»–ï¼Œåªæ˜¾ç¤ºbatteryLevelçš„é…ç½®) batteryLevel: 7 ······ ``` ## å‚考 å¼€å‘过程ä¸å¯å‚考的é…置文件路径:[电é‡ç‰çº§é…ç½®æºç 路径](https://gitee.com/openharmony/powermgr_battery_manager/tree/master/services/native/profile/) 默认é…置: ```json { "soc": { "shutdown": 1, "critical": 5, "warning": 10, "low": 20, "normal": 90, "high": 99, "full": 100 } } ``` 打包路径:/system/etc/battery