安卓无需电脑使用adb连接本机,免root控制充电

公众号有小伙伴翻到几年前的东西,然后问有没有免root查看电量和充电控制的方法。还有小伙伴问代码装x,就简单写一个教程吧。

1、查看电量比较简单,可以使用termux-api

termux-battery-status

2、需要充电控制就比较麻烦一点,没有root权限,也只能使用adb,安卓11以上支持开启无线调试模式,不需要电脑,就可以实现adb本机。

开启开发者选项,就不用多说了;

开启无线调试;关闭usb调试和网络adb调试。

使用配对码配对,最好分屏操作,设置切换到后台,配对码就失效了。

还是使用termux,安装adb之后,使用adb调试。

#安装adb工具
apt install android-tools

#adb配对
adb pair 192.168.0.xxxx:端口

#adb调试本机
adb connect 192.168.0.xxx:端口

#查看是否连接成功
adb devices

adb充电控制,在比较早介绍adb常用命令都说的差不多了。https://zsxwz.com/2021/01/31/安卓adb-shell常用的命令/

#查看电量
adb shell dumpsys battery

#断开充电
adb shell dumpsys battery unplug

#恢复充电
adb shell dumpsys battery reset

3、自动控制充电,自己可以写一个简单的脚本监控一下电量即可。为了避免耗电,使用crontab,定时几分钟查询一次也可以。

没时间,简单写一个脚本:

小于等于80充电,等于100停止充电。

#!/data/data/com.termux/files/usr/bin/bash

var=`adb shell dumpsys battery |grep level|cut -f 2 -d ":"`

if [ $var -le 80 ] ;then
adb shell dumpsys battery reset
elif
[ $var -eq 100 ] ; then
adb shell dumpsys battery unplug
fi

termux定时执行脚本,crontab表达式不会写的,可以参考:https://bbs.zsxwz.com/thread-4054.htm

#运行termux后台运行
termux-wake-lock

apt install cronie

crontan -e

评论 2

  1. anonymous

    测试了一下,adb shell dumpsys battery 命令不能真正控制是否充电,虽然电量显示不变化,但是拔掉之后发现电量依然增加。在 /sys/device/ 的某个子目录下找一个叫 hv_charger_set 或者 charging_enabled 之类的文件,内容改成0可以真正控制充电,不过我这个没root权限没测试。

    • zsxwz

      dumpsys battery 自己测试可以。

留言

* - 必填