android dhcp 脚本,Android adb无线调试脚本

e0227b7d57fd

image.png

使用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=

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=

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值