ADB设置连接android真机

功能就是先通过数据线连接计算机以及手机,通过adb设置手机的服务监听,然后通过网络连接。闲来就写了这个批处理,装逼之用。

@echo off
setlocal enabledelayedexpansion
rem 对于一般局域网中网络调试可以进行自动化的连接
rem 运行前请保证只有一部手机连接着计算机否则会出现不知道连接哪个手机的错误
set adb=C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools\adb.exe
set pc_ip=
set phone_ip=
set ft=_____
%adb% devices
echo 请确认有且仅有一部手机已经连接到计算机,任意键继续
pause >nul
:again
ipconfig > %ft%
for /f "tokens=2 delims=:" %%a in ('findstr IPv4 %ft%') do (
	set pc_ip=%%a
	set pc_ip=!pc_ip:~1!
	goto next
)
:next
rem 使用ifconfig获取手机ip地址
%adb% shell ifconfig >%ft%
for /f  "tokens=2 delims=:" %%a in ('findstr Mask %ft%') do (
	if "%%a"== "" goto next2
	set phone_ip=%%a
	set phone_ip=%phone_ip:~0,-7%
	goto next1
)
rem 上一步失败则使用ip addr获取手机IP地址
:next2
%adb% shell ip addr >%ft%
rem 多个ip地址进行测试,直到能与计算机的ip前6位(0.0.0.)相匹配的地址才结束
for /f  "tokens=2 delims=/ " %%a in ('findstr inet %ft%') do (
	set phone_ip=%%a
	if "!phone_ip:~0,6!"=="!pc_ip:~0,6!" (
		goto next1
	) 
)
goto end
:next1
echo Phone IP:!phone_ip!
echo PC    IP:!pc_ip!

:getip
choice /c ync /M "[W]二者是否使用正确的同一局域网地址?Y:继续,N:重新获取,C:取消"
if %errorlevel% equ 1 goto yes
if %errorlevel% equ 2 goto again
if %errorlevel% equ 3 goto end
:yes
	echo Killing Server and Restarting...
	"%adb%" kill-server
	ping -n 3 127.1 >nul
	"%adb%" start-server
	ping -n 3 127.1 >nul
	"%adb%" tcpip 5555
	echo [Notice]请将手机与电脑的USB断开,按任意键继续
	pause >nul
	"%adb%" connect !phone_ip!:5555>nul
	"%adb%" devices 
	goto end
:debug
%adb% %1
goto end
:end
rem pause >nul

 

转载于:https://my.oschina.net/ev4n/blog/1784707

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值