wifi无线调试连接手机远程控制

adb pair 192.168.12.2:37707 随机的 要点击配对码才出现
689193
adb connect  192.168.12.2:40987 固定的
adb connect 10.0.0.189:41455

传入四个参数,一个是输入的ip,配对ip加端口,和配对码 进行配对,然后是ip加随机固定码 进行连接

adb pair 192.168.xx.x:xxxx 然后会出来enter code 输入689193(随机)
adb connect  192.168.12.2:40987 每次重启随机固定的
使用C#控制cmd窗口进入adb写一个自动化连接

开启手机WI-FI调试模式的方式

开启手机无线调试的方法

一、使用adb的方式 手机和电脑通过USB方式连接 输入adb tcpip PORT,PORT表示要开启WI-FI调试的端口,建议使用默认端口5555

adb tcpip 5555 
adb shell ifconfig wlan0
adb connect 手机ip地址

二、不需要adb的方式

这个方法是从方法二中延伸出来的。 root的手机不需要用usb链接电脑使用adb的方式来开启WI-FI调试模式。不过需要安装一个可以执行命令的App。

  1. 手机需要Root

  2. 安装了可以执行命令的App。可以直接在应用商店搜shell或者Terminal,选个评分高的下载安装

  3. 打开“模拟终端”,然后执行以下命令

    su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
    # 好了,现在可以使用WI-FI调试模式了
    

    PS: 如果嫌麻烦,可以直接将上面命令拼成一条语句,下次复制粘贴就可以了。 有些“模拟终端”支持保存命令,下次直接点击下保存的命令就可以打开WI-FI调试模式了,棒棒的~

    su && setprop service.adb.tcp.port 5555 && stop adbd && start adbd
    
    1. 使用adb connect HOST[:PORT]与手机进行连接,port默认5555
    2. 断开WI-FI调试连接的命令 adb disconnect 192.168.2.3:5555

三、使用shell命令的方式

手机和电脑通过USB方式连接
使用adb shell在手机端执行setprop service.adb.tcp.port PORT命令,port表示要开启WI-FI调试的端口,建议使用默认端口5555
使用adb shell在手机端执行stop adbd
使用adb shell在手机端执行start adbd。执行adb shell会默认启动adbd,所以adbd start不是必须执行的
adb shell
# ">"为在手机端shell模式中
> setprop service.adb.tcp.port 5555
> stop adbd # 执行完会断开"adb shell"
adb shell adbd start

通过执行adb命令获取adb shell ifconfig wlan0 的ip 上传即可

获取设备 IP 
adb shell ip -f inet addr show wlan0 | grep inet | awk '{print $2}' | cut -d/ -f1
# 或手动查看:设置 > WLAN > 当前连接的网络
IP=$(adb shell ip -f inet addr show wlan0 | grep inet | awk '{print $2}' | cut -d/ -f1)
echo "无线调试已开启: $IP:5555"
adb connect $IP:5555
adb shell ip -f inet addr show wlan0 | grep inet | awk '{print $2}' | cut -d/ -f1 

四 无线调试然后使用shell命令的方式 adb pair 然后connect 然后打开

adb connect 192.168.12.4:5555

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

没有免root查看电量和充电控制的方法。还有小伙伴问代码装x,就简单写一个教程吧。

1、查看电量比较简单,可以使用termux-api:需要下载应用

termux-battery-status

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

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

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

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

img

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

#安装adb工具
apt install android-tools

#adb配对
adb pair 192.168.0.xxxx:端口
adb pair 192.168.1.103:39637 随机的 要点击配对码才出现
#adb调试本机
adb connect 192.168.0.xxx:端口
adb connect  192.168.1.103:39637 固定的
adb connect 10.0.0.189:41455
#查看是否连接成功
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

crontab  -e

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

dumpsys battery 自己测试可以。

定时执行代码

例如,要每天中午12点执行 /path/to/script.sh,可以添加:
0 12 * * * /path/to/script.sh
保存并退出:
编辑完成后,保存并退出编辑器(通常使用 Ctrl + X 然后按 Y 确认)。

查看当前的 crontab 任务:
使用以下命令查看已设置的定时任务:
crontab -l
删除 crontab 任务:
如果需要清空 crontab,可以使用:
crontab -r
输出重定向:默认情况下,crontab 不会输出任何错误或信息。您可以将输出重定向到文件,方便调试: 
* * * * * /path/to/command >> /path/to/logfile 2>&1
这将把标准输出和错误输出都写入 logfile。 
查看服务状态:确保 cronie 服务正在运行,您可以使用以下命令检查: 

termux-wake-lock

termux-wake-lock 是一个用于 Termux 的命令行工具,主要用于控制 Android 设备的休眠状态

  • 保持唤醒termux-wake-lock 命令会阻止设备进入休眠状态。这在需要长时间运行脚本或进行某些操作时非常有用,例如下载文件、进行计算或监控某些任务。
  • 释放唤醒锁:与 termux-wake-lock 相对,termux-wake-unlock 命令用于释放唤醒锁,使设备可以进入休眠状态。

修改大于80不充电 小于40才充电 40-80什么都不做

#!/data/data/com.termux/files/usr/bin/bash
var=`adb shell dumpsys battery |grep level|cut -f 2 -d ":"`
# 检查电池电量并执行相应操作  
if [ "$var" -lt 40 ] ; then  
    echo "Battery level is low. Consider charging."  
    adb shell dumpsys battery reset
    # 在这里可以添加发送通知、记录日志或其他操作的代码  
elif [ "$var" -gt 80 ] ; then  
    # 当电量大于80%时,不充电(或可以添加记录高电量状态的代码)  
    echo "Battery level is high. No action needed."  
    adb shell dumpsys battery unplug
    # 注意:实际上,用户无法通过脚本直接控制不充电,这是由设备和充电器管理的。  
else  
    # 当电量在40%到80%之间时,不执行任何操作。  
    echo "Battery level is sufficient. No action needed."  
fi
#!/data/data/com.termux/files/usr/bin/bash
var=`adb shell dumpsys battery |grep level|cut -f 2 -d ":"` 
echo $var
if [ "$var" -lt 40 ] ; then  
    echo "Battery level is low <40. Consider charging."  
    adb shell dumpsys battery reset 
elif [ "$var" -gt 80 ] ; then   
    echo "Battery level is high >80. No action needed."  
    adb shell dumpsys battery unplug  
else   
    echo "Battery level is 40-80. No action needed."  
fi