【问题标题】:Configure AOSP for a batteryless device?为无电池设备配置 AOSP?
【发布时间】:2020-04-06 17:24:26
【问题描述】:

我正在为类似手机的设备构建 Android AOSP 8.1 (Oreo),该设备是永久安装的(例如工业部署)并且没有电池。但是,当我打开它时,它会显示一个充电指示灯和 6% 的电量读数。我必须更改什么才能告诉 Android 没有电池?我认为这是可能的,因为 Android 也可以在机顶盒等设备上运行。我可以删除此验证吗?我尝试在./frameworks/base/services/core/java/com/android/server/BatteryService.java中修改BatteryService.java,也尝试修改frameworks/base/core/res/res/values/config .xml 但没有成功。非常欢迎任何帮助。

提前致谢。

【问题讨论】:

    标签: android android-source battery batterymanager


    【解决方案1】:

    正如 Simpl 提到的,AOSP 描述了如何配置无电池设备, 我在 Android 9 上为我的工业设备实现了健康 HAL,默认情况下没有电池它显示 Battery UNKNOWN(如 AOSP 文档中所述)。我的要求是在未插入电池时显示电池 100% 并在有电池时显示实际电池状态。

    以下是我的健康中心 HealthService.cpp 中的代码 sn-p

    int healthd_board_battery_update(struct android::BatteryProperties *props) {
        // return 0 to log periodic polled battery status to kernel log
        if (! props->batteryPresent){
        props->chargerAcOnline=true;
        props->batteryPresent = true;
        props->batteryStatus = android::BATTERY_STATUS_CHARGING;
        props->batteryHealth = android::BATTERY_HEALTH_GOOD;
        props->batteryFullCharge = 100;
        props->batteryLevel = 100;
        }
    return 0;
        }
     
    

    有关如何编写自己的健康 HAL 的更多详细信息,请关注: https://android.googlesource.com/platform/hardware/interfaces/+/master/health/2.0/README.md

    【讨论】:

      【解决方案2】:

      官方文档描述了如何配置无电池设备:https://source.android.com/devices/tech/power/batteryless

      有两种可能的方法:

      为 AC 或 USB 电源实现 Linux 内核 power_supply 类充电器驱动程序,将其 online sysfs 属性设置为 true。

      在您的设备的 Health HAL 中配置 AC 充电器在线属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-10
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多