为无电池设备配置AOSP



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

提前谢谢。

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

以下是我的健康hal HealthService.cpp 的代码片段

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

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

有两种可能的方法:

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

在设备的健康HAL中配置交流充电器在线属性。

最新更新