1. 程式人生 > 其它 >APP測試之使用ADB可能遇到的錯誤及解決辦法

APP測試之使用ADB可能遇到的錯誤及解決辦法

錯誤一

在cmd中執行“adb ”,提示:adb不是內部或外部命令,也不是可執行的程式。

這意味著沒有配置好adb環境。

解決辦法:

1、如果是win10系統的環境變數配置開啟path,

新增如下:

%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

(注意要先點選新建再分別在兩行建立,並且不需要分號)

2、如果是win7系統開啟path,

新增如下:

%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

(直接貼上到path變數值後面即可)

錯誤二

在cmd中執行“adb shell”,提示:error: device not found(

沒有裝置資訊)

意思是沒有發現裝置。

解決方法:

1、如果用手機裝置測試,請用USB資料線與電腦連線,同時安裝好手機驅動(比如91助手、豌豆莢);

2、如果採用模擬器測試,應該先啟動eclipse,然後設定好模擬器,並進入模擬器測試狀態,如下圖所示:

錯誤三

執行“adb shell”,提示:error: more than one device and emulator.

第一種情況:確實用多個裝置或者模擬器

錯誤說明是有一個以上的裝置和模擬器,這是因為啟用了模擬器,同時也將手機通過USB線連線到了電腦,所以這裡存在兩個裝置。這種情況下,需要指定連線某一個裝置或者模擬器。

問題定位及解決辦法:

1、獲取模擬器或裝置列表

命令:adb devices

效果如下圖所示:

2、指定device來執行adb shell

命令:adb -s devicename shell

在多個device的時候,執行adb命令一般都需要用引數-s指定device。

如解除安裝emulator-5554上的包com.soft.camera,命令如下:

adb -s emulator-5554 uninstall com.soft.camera

通過monkey測試:

adb -s emulator-5554 shell monkey -v -pcom.tencent.WeChat500

第二種情況:確實有一個裝置或者模擬器

之所以顯示有多個,是因為此裝置用過兩次,使用命令 adb devices 會看到這個裝置有兩種狀:offline 和 device,有以下兩種解決辦法:

1、重啟adb.exe服務

一般辦法:在命令視窗輸入 adb start-server 重新啟動adb.exe服務;

2、終極方法,結束adb程序

如果上述方法不可以,終極方法:開啟工作列,選擇“程序”選項卡,找到adb.exe程序,結束之,重新啟動就OK啦(或者在命令視窗輸入命令 adb kill-server )。


錯誤四

執行“adb devices”,顯示裝置:unauthorized(未授權).

原因:是因為在安卓端,尚未允許計算機對裝置進行除錯。

解決辦法:

1、手動點亮手機螢幕,會有相應的授權提示,在提示上,勾選“一律允許”,並點選確定即可。

如下圖所示:

2、在手機螢幕上確認之後,再次輸入指令:adb devices ,即可成功連線裝置,如下圖所示:



錯誤五

在cmd中輸入:adb -s HT21JV204550 shell monkey -v -pcom.tencent.WeChat500

,在手機上通過monkey測試出現:No activities found to run, monkey aborted.

意思是:沒有找到要執行的activities,monkey中止。

解決措施:

1、通過模擬環境測試,Eclipse設定如下:

2、通過手機測試,應該將“Target”選項卡中由原來的“Automatic”項改為“Manual”,如下圖所示:

3、然後選擇“Target”選項卡的前面一個選項卡“Android”,點選下面的“Run”,執行Run後結果如下:

4、點選OK,程式會將APK寫入手機,這時就可以在cmd中輸入命令:adb -s HT21JV204550 shell monkey -v -p com.tencent.WeChat 500,通過在真實手機環境下進行測試了。

錯誤六

顯示:adb埠被佔用.

解決辦法:
1、使用netstat -ano | findstr 5037檢視5037埠對應的程序號(因為5037是adb的預設埠號);

2、taskkill /f /pid 程序號即可殺死,如下圖所示,殺死PID為9516的程序: