adb devices offline solution for Window Batch CMD

when using adb /fastboot to test , we always see some errors on Windows . such as , "offline" or "more than one device/emulator" .

it is ultimate solution for these errors .

latest adb download : https://developer.android.com/studio/releases/platform-tools.html#download

:wait_for_adb_device
	SETLOCAL

	ECHO.
	ECHO. waiting for adb enumeration...
	ECHO.

	adb kill-server
	adb wait-for-device
	
	:adb_loop
	REM adb devices
	REM NHVA180131      offline
	REM NHVA180131      device
	FOR /F "usebackq tokens=2" %%X in (`adb devices`) do (
		ECHO "%%X"
		IF "%%X" == "offline" (
			FOR /F "tokens=2 delims= " %%l in ('tasklist /v ^| find "adb.exe"') do (
				echo "%%l"
				taskkill /f /PID %%l
			)
		)
	)	
	adb wait-for-device
	adb root
	adb wait-for-device

	REM adb wait-for-device
	REM "error: more than one device/emulator" 
	IF %errorlevel% NEQ 0 (
		echo "retry error: more than one device/emulator"
		goto adb_loop
	)
	
	REM adb nodaemon server                    ----------------查看结果是TCP 5037的连接有问题
	REM netstat -ano|findstr "5037"             ---------------查看5037到底是哪个端口被占用了,kill it
	ECHO. adb device is ready!!

	ENDLOCAL
	EXIT /b 0

:wait_for_fastboot_device
	SETLOCAL
	
	ECHO.
	ECHO. waiting for fastboot enumeration...
	ECHO.
	SET /A wait_time=1
	:fastboot_loop
	SET /A device_count=0
	FOR /F "usebackq tokens=2" %%X in (`fastboot devices`) do (
		ECHO "%%X"
		IF "%%X" == "fastboot" SET /A device_count+=1
	)
	REM ECHO device_count %device_count%
	IF %device_count% LSS 1 (
		ping -n 2 127.0.0.1 > NUL
		SET /A wait_time+=1
		choice /t 1 /d y /n >nul
		ECHO waiting time %wait_time%
		IF %wait_time% == 10 (
			ECHO. Device is not connected, Still waiting ?????????
			ECHO.
			SET /A wait_time=1
			pause
		)
		GOTO :fastboot_loop
	)

	IF %device_count% GTR 1 (
		ECHO. Too many devices!
		ping -n 2 127.0.0.1 > NUL
		GOTO :fastboot_loop
	)

	:: Allow time for fastboot enumeration to stablize
	ping -n 3 127.0.0.1 > NUL

	ECHO. fastboot device is ready!!

	ENDLOCAL
	EXIT /b 0


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值