ADB,即 Android Debug Bridge,ADB具有安裝卸載apk、拷貝推送文件、查看設備硬件信息、查看應用程序占用資源、在設備執行shell命令等功能,是 Android 開發/測試人員不可替代的強大工具,但是初學者在使用adb的時候,總是會遇到一些問題,今天allen老師就給大家梳理兩個常見問題的解決思路,希望能夠幫助到遇到問題、不知所措的你。
問題一:使用appium時adb不斷重啟服務
在使用ADT+appium+夜神模擬器進行app自動化測試的時候,通過cmd connect 127.0.0.1:62001已經能夠成功連接上夜神模擬器,但是一運行自動化腳本就出錯,檢查appium服務日志發現,adb被頻發restarting,最終導致設備掉線,腳本運行失敗。
分析發現:ADT目錄/sdk/platform-tools/是配置在環境變量中的,而且該目錄下的adb是1.0.31的版本,而我們使用的夜神模擬器下的nox_adb是1.0.36版本,版本不一致。
解決方法:將夜神模擬器bin目錄下的nox_adb.exe拷貝一份到ADT目錄/sdk/platform-tools/下,并將其重命名為adb.exe替換掉之前的,保證兩處的adb版本一致,再cmd下查看adb版本如下。
再運行自動化腳本,就能正常運行、不再重啟了。
如果還不能解決,就可能電腦上還有其他的adb程序,可以通過where adb命令查看一下,如果有多余的,刪除掉即可。
問題二:adb連接手機未授權問題(unauthorized)
使用adb連接手機,最常見的問題就是在開啟手機的usb調試的時候不能正常彈出手機授權信任的頁面,從而導致adb devices查看狀態時候出現設備未授權的問題。
下面我們先以oppo手機為例,來介紹ADB通過USB連接手機的基本步驟,再解決未授權的的問題。
adb連接手機設置(oppo手機為例)
手機設置-->關于手機-->版本信息(基帶、內核版本等)-->多次點擊版本號:即可進入開發者模式
2、設置-->其他設置-->開發者選項--->點開USB調試按鈕
3、用數據線連接手機與電腦,彈出以下信息,點擊選擇”傳輸文件”
打開cmd窗口,輸入adb devices,驗證連接真機是否操作成功
若執行adb devices命令后顯示“unauthorized”設備未授權
分析原因:
之前調試時設備授權過,授權后的手機不會再提示授權,但此次調試需要重新授權;
由于驅動電腦端驅動問題,手機未能成功授權。
解決方案:
1.獲取設備VID
USB將手機與電腦連接,windows右擊電腦屬性→設備管理器→便攜設備→屬性→詳細信息→硬件id,如下設備VID為18D1
2.配置adb_usb.ini
在電腦用戶文件夾下找到C:\Users\Administrator\.android文件夾,查看文件夾下是否有 adb_usb.ini 這個文件,若沒有則新建一個txt文件修改后綴,輸入以下內容并替換設備VID的值即可。
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x18D1
配置完成后,執行命令adb kill-server,adb start-server
手機重新連接電腦后就會彈出設備授權調試提示了,確認授權。
重新執行命令adb devices 如下,設備調試連接成功。
更多關于軟件測試培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。