降低Android设备的充电电压

降低Android设备的充电电压

这又是什么需求众所周知,锂电池在长时间保持高电量的情况下容易鼓包。我本以为一代更比一代强的电源管理系统会解决这个问题,但是并不一定可靠。我放在房间里挂机的小米6就这么鼓包了,虽然也可能和温度有点关系。于是我决定换块电池,并且降低充电截至电压以避免电量过高,从而延长寿命。反正电池对长期插电的手机来说不过是个UPS罢了。

来自2025年的提示试试更简单的新方案吧,只需要root权限即可 https://github.com/MatteCarra/AccA

操作方法大致上有两种思路供您选择:复杂优雅简单粗暴

方法一 修改电池配置文件 复杂优雅情况一如果你的手机有单独的dtbo分区,那你可以对这个分区中的内容进行修改以达到目的。首先你需要一个Linux环境,并获得mkdtimg和dtc这两个可执行文件。这两个是Android工具链中的文件,可以通用的,网上能找到编译好的(试了下挺难找的,我放个在这里吧,适用于Linux_X86,下载)。

从 dtbo.img 中解出 dtb :mkdtimg dump dtbo.img -b 把 dtb 文件转成 dts :dtc -I dtb -O dts -o

以上是抄来的命令,原文在这个链接。因为里面可能有很多个dts文件,对应很多个设备,你可以写个循环执行的bash脚本来执行命令。

在里面找到对应你的设备的dts文件(找不到的话可以试试全改了),在其中找到对应电池型号的电压一行,进行修改(16进制数值),注意检查数值噢,要是改炸了(物理)可不能怪我。修改完成后,

把 dts 文件转成 dtb :dtc -O dtb -o

把 dtb 合成 dtbo.img :mkdtimg create new-dtbo.img --page_size=4096 dtb.0 dtb.1 dtb.2 ... 此处要把所有dtb文件都填进去

情况二如果你的手机没单独的dtbo分区

尝试解压boot.img(可以试试用这个工具),看看里面有无dtbo/dtb文件,然后按 情况一 修改。

如果解压不出dtbo或其类似物(比如小米6),则需要修改源码并从源码编译内核(或者你可以试试继续解包内核的zImage,反正这我不会了)。修改的位置很容易找到,比如小米6的电池配置在内核源码的arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-atl-3350mAh.dtsi。然后编译内核并刷入,是不是很简单(并不),太麻烦了这里就不展示了,之前在一台旧手机上实践过,电池再也没鼓包。

方法二 向内核节点传递数据 简单粗暴每次开机后使用超级用户权限执行命令

12chmod 777 /sys/class/power_supply/*/*echo '4280000' > /sys/class/power_supply/battery/voltage_max

以上数值4280000代表4.28V,不同手机可能单位不一样,文件位置也不一样,需要先读取原有数值后参考修改可用cat /sys/class/power_supply/battery/voltage_max指令读取原有数值建议在执行前sleep个60秒,防止系统启动过程中被覆盖。我做了个Magisk模块来实现它。传送门小米6亲测有效,电压被有效限制。

Q&AQ:什么不用scene4中的充电限制功能A:scene4中的充电限制是充电到一定程度后断开电源,由电池供电,电量下降到一定程度后再充电。而我不希望电池频繁充放电。

注意事项以上操作具有一定风险,请确认完全理解以上操作后在进行实践,若出现任何问题本人概不负责!祝您的手机健康长寿!

相关推荐

王者荣耀玩游戏突然卡屏〖王者荣耀卡屏是什么情况〗
bat365在线平台官网登录

王者荣耀玩游戏突然卡屏〖王者荣耀卡屏是什么情况〗

07-31 👁️ 5016
Android应用重命名全攻略:轻松掌握修改过程及技巧
解散、破产、入狱,顶级富豪圈子怎么消失了?
bat365在线平台官网登录

解散、破产、入狱,顶级富豪圈子怎么消失了?

10-25 👁️ 4838
紫色品牌:创建令人难忘的品牌标识的重要技巧
一键下载:Oracle官方JDK1.7,轻松入门Java编程之旅
云南最大的花卉基地在哪里,云南哪里种花最多
什么是产品组合策略,如何制定和实施产品组合策略?
bat365在线平台官网登录

什么是产品组合策略,如何制定和实施产品组合策略?

09-25 👁️ 4298
禁的多音字组词
必发365app官网

禁的多音字组词

07-20 👁️ 8434
【中醫拔罐】每人的罐印顏色和消退時間都不同!|推薦中醫、中藥行、整復推拿所