一、無(wú)法通過(guò) adb connect 連接使用遠(yuǎn)程真機(jī)
報(bào)錯(cuò)信息如下:
Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error
occurred while processing the command. Original error: Error getting device API
level. Original error: Error executing adbExec. Original error: 'Command 'D:\\so
ftware\\AndroidSDK\\android-sdk-windows\\platform-tools\\adb.exe -P 5037 -s 172.
26.131.185\:7413 shell getprop ro.build.version.sdk' exited with code 1'; Stderr
: 'error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
問(wèn)題原因: 未添加 adbkey
該臺(tái)連接設(shè)備未授權(quán) adb 服務(wù),需要在 STF 平臺(tái)增加自己電腦對(duì)應(yīng)的 adbKey。
在 STF 平臺(tái)增加你的 adbKey之后,就可以隨時(shí)通過(guò) adb connect 連接使用 STF 的設(shè)備了。
添加方式:
-
打開(kāi) STF 云真機(jī)平臺(tái)的 Settings 頁(yè)面,點(diǎn)擊 Keys Tab,點(diǎn)擊 ADB Keys 右側(cè)的添加按鈕,輸入自己電腦上對(duì)應(yīng)的 adbkey 和設(shè)備名稱,添加成功即可;
image.png -
未通過(guò)第一種方式添加,當(dāng)使用 adb connect 方式調(diào)用到真機(jī)時(shí),云真機(jī)平臺(tái)也會(huì)彈出一個(gè)添加窗口,該窗口顯示請(qǐng)求設(shè)備名稱(通常顯示默認(rèn)的unknown)及設(shè)備對(duì)應(yīng)的 adbkey,詢問(wèn)是否添加,點(diǎn)擊添加即可。
image.png
二、Appium 連接不上任何設(shè)備
報(bào)錯(cuò)信息如下:
Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error
occurred while processing the command. Original error: Error getting device API
level. Original error: Could not find a connected Android device.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17
:03'
System info: host: 'B011603', ip: '192.168.56.1', os.name: 'Windows 7', os.arch:
'amd64', os.version: '6.1', java.version: '1.8.0_181'
Driver info: driver.version: AndroidDriver
remote stacktrace: UnknownError: An unknown server-side error occurred while pro
cessing the command. Original error: Error getting device API level. Original er
ror: Could not find a connected Android device.
出錯(cuò)信息表示未連接上任何 Android 設(shè)備。
排查問(wèn)題步驟如下:
先檢查是否本機(jī)的 adb 服務(wù)是否有異常
遠(yuǎn)程連接手機(jī)是通過(guò) adb connect 命令連接云真機(jī)上的遠(yuǎn)程調(diào)試連接,若連接不上,需要檢查一下是否本機(jī)的 adb 服務(wù)異常。
檢查方式:
-
在云真機(jī)平臺(tái)上選擇一個(gè)可用的設(shè)備,點(diǎn)擊 Use 使用該設(shè)備
image.png -
打開(kāi)設(shè)備的 Control 頁(yè)面,復(fù)制 Remote Debug 鏈接
image.png - 打開(kāi)一個(gè) cmd 窗口,粘貼該命令,檢查命令結(jié)果
C:\Users\Ken>adb connect 172.26.131.185:7405
adb server version (36) doesn't match this client (41); killing...
* daemon started successfully
failed to authenticate to 172.26.131.185:7405
C:\Users\Ken>adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
檢查發(fā)現(xiàn) adb connect 無(wú)法連接上設(shè)備,提示版本不匹配。
先不急著更新或降版本,繼續(xù)檢查 adb 服務(wù)。
- 檢查 adb 服務(wù)使用的 5037 端口是否被占用
C:\Users\Ken>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 9460
TCP 127.0.0.1:5037 127.0.0.1:55432 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55433 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55448 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55449 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55463 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55464 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55478 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55479 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:55494 TIME_WAIT 0
結(jié)果表明,確實(shí)是有應(yīng)用占用了 5037 端口
- 查看占用端口的服務(wù)
C:\Users\Ken>tasklist | findstr "9460"
nox_adb.exe 9460 Console 2 7,296 K
發(fā)現(xiàn)是夜神模擬器占用了該端口,殺掉該應(yīng)用。
- 重新連接遠(yuǎn)程調(diào)試
C:\Users\Ken>adb connect 172.26.131.185:7405
failed to authenticate to 172.26.131.185:7405
C:\Users\Ken>adb devices
List of devices attached
172.26.131.185:7405 device
C:\Users\Ken>adb disconnect 172.26.131.185:7405
disconnected 172.26.131.185:7405
發(fā)現(xiàn)可以連接成功了,出現(xiàn) failed to 提示時(shí),可以忽視,可能是版本問(wèn)題導(dǎo)致,但 adb devices 命令顯示仍然是可以連接上設(shè)備的。
注意:測(cè)試完畢,記得使用 adb disconnect 命令斷開(kāi)連接。
-
測(cè)試完畢,在云真機(jī)平臺(tái)斷開(kāi)設(shè)備,方便后續(xù)真機(jī)使用。
image.png




