UIAutomatorViewer 出現錯誤:Unable to connect to adb


最近升級了AndroidSDK,打開UIAutomatorViewer.bat,結果發現獲取不了Android設備界面上的UI信息。經過一番努力,終於把這個問題解決了,詳細過程如下:

1. Unable to connect to adb.Check if adb is installed correctly.問題:

UIAutomatorViewer.bat位於AndroidSDK\tools\bin路徑下,是個十分常用的自動化測試工具,雙擊運行即可。誰知更新了最新的AndroidSDK之后,運行UIAutomatorViewer.bat就出現了以下錯誤:

Unable to connect to adb.Check if adb is installed correctly.

2. 解決方案

打開uiautomatorviewer.bat,將最后一句%prog_dir%替換成AndroidSDK\tools路徑,保存后再次打開uiautomatorviewer.bat即可得到當前View所有信息。

uiautomatorviewer.bat源碼片段

替換上一句為下面這句:

uiautomatorviewer.bat源碼片段修改后

3. 為什么這么修改就能解決問題了呢?

1) 打開uiautomatorviewer.bat,發現最后一句是關鍵代碼,也許問題就出現在這里。

2) 打印出這最后一句里4個變量,可以得到如圖所示路徑,除了prog_dir,其他3個很顯然都沒有問題。

3) 反編譯uiautomatorviewer-25.3.2.jar,搜索com.android.uiautomator.bindir,在以下文件中找到相應的代碼,

由此可見jar文件里:

A. prog_dir就是這里的toolsDir;

B. Sdk路徑是prog_di的父路徑;

C. adb路徑是prog_di的父路徑下platform-tools文件夾。

uiautomatorviewer源代碼片段

再看uiautomatorviewer.bat,prog_dir= D:\android\AndroidSDK\tools\bin,因此

A. toolsDir路徑就是D:\android\AndroidSDK\tools\bin;

B. Sdk路徑是D:\android\AndroidSDK\tools\;

C. adb路徑是D:\android\AndroidSDK\tools\platform-tools,顯然這個路徑並不存在,於是就出現了unable to connect adb。

所以將com.android.uiautomator.bindir設置成AndroidSDK\tools路徑,問題就解決了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM