失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > windows之bat脚本控制adb命令实现:安卓手机定时循环开关飞行模式

windows之bat脚本控制adb命令实现:安卓手机定时循环开关飞行模式

时间:2018-11-02 00:10:07

相关推荐

windows之bat脚本控制adb命令实现:安卓手机定时循环开关飞行模式

一 背景

朋友请我帮他实现一个小功能:安卓手机定时循环开关飞行模式(目的是为了保持网络活性)

以下是pass掉的方案:

打包成系统app,必须有安卓系统签名,再怎么花里胡哨(如放到/system/app/下等)都绕不开签名。手机root,无论是发广播还是android code直接runtime.exec,都离不开root权限。但考虑到他提供的样机都不好root,刷机的形式很不走量,他的十几部手机不可能给他挨个刷了。用传统广播或者api的形式,已经不可用,传统流氓api都是安卓4以前了,现在的安卓安全性越来越高。样机是安卓10,目前市场已经是安卓11。

最后发现朋友要求也没太苛刻,他要用这个功能的时候,只是某个特定的时间段,而且旁边会有一台windows电脑。手机也可以用usb连接电脑。这就好办很多了。

某个特定时间段,说明不需要开机启动+保活+不能卸载;有windows电脑且可以连接usb说明我们可以用adb来发送命令(且可以不用wifi连接,那么脚本更容易编写了)

二 windows下安装adb

本人是用的android studio自带的adb工具+配置环境变量。

若非安卓开发人员请自行百度。

最后需要能在cmd中输入adb得到相关信息才表示安装成功。

C:\Users\lrj>adbAndroid Debug Bridge version 1.0.41Version 31.0.2-7242960Installed as C:\Users\lrj\AppData\Local\Android\Sdk\platform-tools\adb.exe

三 adb调试飞行模式

首先把样机的开发者模式打开(不同的记性不一样,大多都是关于本机-安卓版本,连击10次)

usb连接电脑和手机,手机弹窗相关都点击确认(密钥获取,打开调试,文件传输模式等)

打开cmd分别输入以下两行命令,观察对应的样机是否相应的开启\关闭飞行模式,如果是则说明调试成功。

C:\Users\lrj>adb shell settings put global airplane_mode_on 1C:\Users\lrj>adb shell settings put global airplane_mode_on 0

四 编写bat脚本

原本可以写个简单的开关命令,然后利用windows计划任务来实现循环+定时功能。后来发现windows的计划任务没有linux的那么精确,最小单位是一天。 而我是想实现秒级的可控可设置的功能,所以还是多写几行吧。

@echo off@echo= @echo Lu Renjia, welcome!@echo= @echo= set /p a=Please input the duration of flight mode(s):set /p b=Please enter the flight mode interval(s)::startadb shell settings put global airplane_mode_on 1@echo %date% %time:~0,8% plan on@ping -n %a% 127.1 >nuladb shell settings put global airplane_mode_on 0@echo %date% %time:~0,8% plan offchoice /t %b% /d y /n >nulgoto start

echo off是回文展示;

set /p是输入变量

:start choice goto start是循环定时

echo %date%是展示当前时间及相关精度

@ping那一行相当于linux的sleep

adb那两行分别对应开启/关闭飞行模式

如果觉得《windows之bat脚本控制adb命令实现:安卓手机定时循环开关飞行模式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。