千家信息网

RK3288 手动设置电池电量

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,系统版本: RK3288 android 5.1 (与参考的变量和宏有点区别)设备没有电池,在进行 Fota 升级时,提示电量不能低于 30% ,外接电源,可是读出来的电量是 0% ,无法进行升级,只
千家信息网最后更新 2025年02月16日RK3288 手动设置电池电量

系统版本: RK3288 android 5.1 (与参考的变量和宏有点区别)

设备没有电池,在进行 Fota 升级时,提示电量不能低于 30% ,外接电源,可是读出来的电量是 0% ,无法进行升级,只能手动设置电池电量。

$ adb shell dumpsys battery   // 通过 adb 查询电池信息
Current Battery Service state:
   AC powered: false
   USB powered: false
   Wireless powered: false
   status: 1
   health: 1
   present: true
   level: 0   // 电池电量
   scale: 100
   voltage: 0
   temperature: 0
   technology:

diff --git a/system/core/healthd/BatteryMonitor.cpp b/system/core/healthd/BatteryMonitor.cpp

old mode 100644

new mode 100755

index d317b28..6b37dee

--- a/system/core/healthd/BatteryMonitor.cpp

+++ b/system/core/healthd/BatteryMonitor.cpp

@@ - 35 , 7 + 35 , 7 @@

#define POWER_SUPPLY_SUBSYSTEM "power_supply"

#define POWER_SUPPLY_SYSFS_PATH "/sys/class/" POWER_SUPPLY_SUBSYSTEM

- #define FAKE_BATTERY_CAPACITY 42

+ #define FAKE_BATTERY_CAPACITY 100

#define FAKE_BATTERY_TEMPERATURE 424

namespace android {

@@ - 513 , 8 + 513 , 14 @@ void BatteryMonitor::init( struct healthd_config *hc) {

closedir(dir);

}

- if (!mChargerNames.size())

+ if (!mChargerNames.size()) {

KLOG_ERROR(LOG_TAG, "No charger supplies found\n" );

+ /*------------ 电池电量一直显示 100%------------*/

+ mBatteryFixedCapacity = FAKE_BATTERY_CAPACITY; // 电量 level

+ mBatteryFixedTemperature = FAKE_BATTERY_TEMPERATURE; // 温度 temperature

+ mBatteryDevicePresent = true ;

+ /*------------------------------------------------*/

+ }

if (!mBatteryDevicePresent) {

KLOG_WARNING(LOG_TAG, "No battery devices found\n" );

hc->periodic_chores_interval_fast = - 1 ;

$ adb shell dumpsys battery
Current Battery Service state:
   AC powered: false
   USB powered: false
   Wireless powered: false
   status: 1
   health: 1
   present: true
   level: 100   // 电池电量
   scale: 100
   voltage: 0
   temperature: 424
   technology:

0