遠(yuǎn)程使用 STF 平臺(tái)真機(jī)問(wèn)題匯總

一、無(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è)備了。

添加方式:

  1. 打開(kāi) STF 云真機(jī)平臺(tái)的 Settings 頁(yè)面,點(diǎn)擊 Keys Tab,點(diǎn)擊 ADB Keys 右側(cè)的添加按鈕,輸入自己電腦上對(duì)應(yīng)的 adbkey 和設(shè)備名稱,添加成功即可;


    image.png
  2. 未通過(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ù)異常。
檢查方式:

  1. 在云真機(jī)平臺(tái)上選擇一個(gè)可用的設(shè)備,點(diǎn)擊 Use 使用該設(shè)備


    image.png
  2. 打開(kāi)設(shè)備的 Control 頁(yè)面,復(fù)制 Remote Debug 鏈接


    image.png
  3. 打開(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ù)。

  1. 檢查 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 端口

  1. 查看占用端口的服務(wù)
C:\Users\Ken>tasklist | findstr "9460"
nox_adb.exe                   9460 Console                    2      7,296 K

發(fā)現(xiàn)是夜神模擬器占用了該端口,殺掉該應(yīng)用。

  1. 重新連接遠(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)連接。

  1. 測(cè)試完畢,在云真機(jī)平臺(tái)斷開(kāi)設(shè)備,方便后續(xù)真機(jī)使用。


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容