Android adb无线调试脚本
时间:2022-06-16
本文章向大家介绍Android adb无线调试脚本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用adb的无线调试功能十分的方便。 但是实际工作中,总是要手动输入,十分麻烦。所以就把它写成脚本文件。
使用步骤
- 连接上USB
- 运行脚本文件(
windows
双击运行bat
文件,mac
的话terminal
运行) - 拔掉USB 这样就可以愉快的开始无线调试了~
- 注意手机和电脑需要在一个无线局域网内!!
window的bat
脚本
adb_wifi.bat
@echo off
adb disconnect
REM 待处理的字符串
adb shell "ip address | grep inet | grep -v inet6 | grep -v 127" >ip.txt
set /P IP=<ip.txt
del ip.txt
echo %IP%
set str="%IP%"
REM set str="inet 192.168.1.137/24 brd 192.168.1.255 scope global wlan0"
REM FOR语句是按行进行遍历,也就是一行一次循环,对于我们来说,只有一行字符串,
REM 这个FOR循环肯定只进入一次。而我们是要对字符串进行空格分割后再处理。因此这
REM 里用GOTO语句来实现循环。而FOR语句只需看成是一条语句,这条语句实现了这样的
REM 功能:将字符串分割成两一部分,一部分是第一个空格前的字串,另一部分是剩余的
REM 字串(tokens=1,*)。第一部分保存在 a 变量中,第二部分保存在 b 变量中,这
REM 个 b 是自动的。
for /f "tokens=2,*" %%a in (%str%) do (
REM 这里可以替换成自己的处理程序,现在只是简单地显示值
REM set a = "%%a"
REM echo %a%
REM 将剩余字符串存在b里面
set str="%%a"
)
echo str = %str%
for /f "delims=/ tokens=1,*" %%a in (%str%) do (
REM 这里可以替换成自己的处理程序,现在只是简单地显示值
REM set a = "%%a"
REM echo %a%
REM 将剩余字符串赋值给str变量
set str=%%a
)
echo str = %str%
adb tcpip 6666
set _ip=%str%:6666
adb connect %_ip% >result.txt
set /P RESULT=<result.txt
del result.txt
echo %RESULT% |findstr "^connected" >nul
if %errorlevel% equ 0 (
echo "成功连接到%_ip%"
) else (
echo "连接到%_ip%失败!!"
pause
)
- 注意事项
- 需要配置adb的环境变量。否则需要将脚本中的adb写成绝对路径。
- 运行成功,就会直接关掉窗口。运行失败,则不会自动关闭窗口。
- 因为没有找到可以直接接受命令返回的方法,所以执行过程中会产生两个临时文件。(最后都会自动删除掉)
-
bat
脚本运行于windows
,双击就可以运行。
shell脚本
adb_wifi.sh
#!/bin/bash
_port=":6666"
port=${_port:1-start}
# 将adb先断开
adb disconnect
#取到ip地址. 这里包括了3钟获取IP的方法,ip address应该是通用的方法
ip=`adb shell "ip address | grep inet | grep -v inet6 | grep -v 127"`
len=${#ip}
if [[ $len != 0 ]];
_ip=`echo $ip |cut -f 2 -d ' ' |cut -f 1 -d '/'`${_port}
then
ip=`adb shell "ifconfig | grep inet | grep -v inet6 | grep -v 127"`
len=${#ip}
# 在魅族的手机上,可能获取不到数据,通过另外的方法来取
if [[ $len == 0 ]];
then
ip=`adb shell "getprop dhcp.wlan0.ipaddress" | head -n 1`
len=${#ip}
val=`expr $len - 1`
_ip=${ip:0:val}${_port}
else
ip=`echo ${ip} | cut -f 2 -d ' '`
_ip=`echo ${ip} | cut -f 2 -d ':'`${_port}
fi
fi
result=`adb tcpip ${port}`
result=`adb connect ${_ip}`
echo $result
- 注意事项
- 需要配置adb的环境变量。否则需要将脚本中的adb写成绝对路径。
-
shell
脚本不需要文件做中间变量就可以。 -
shell
脚本的运行 必须先给对应的权限.然后运行。
chmod +x adb_wifi.sh
./adb_wifi.sh
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- java编程思想第四版第六章习题
- Docker部署Python项目
- 03 . 二进制部署kubernetes1.18.4
- 01 . 美团全链路监控CAT简介及部署
- 02 . Ansible高级用法(运维开发篇)
- java编程思想第四版第七章总结
- OpenVPN原理及部署使用
- 04 . Jenkins部署Java项目
- java编程思想第四版第七章习题
- 03 . Jenkins构建之代码扫描
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- Kubernetes 1.19.0——deployment(1)
- 02 . Jeknins简介部署及自动化部署PHP代码
- java编程思想第四版第八章习题
- java编程思想第四版第八章总结