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