1. 程式人生 > >使用bat對UiAutomator程式進行快速除錯

使用bat對UiAutomator程式進行快速除錯

        用過UiAutomator 1.x 的朋友應該知道,其程式的編譯和執行需要敲幾條命令,這在除錯程式的時候不大方便。2.x 已經在這方面做了極大的改進,但是2.x開發工具as的速度實在是太慢了,特別當我再寫一個遊戲的格鬥指令碼的時候,覺得很不爽,用著用著又回到了uia 1。後來瞭解到有人用java為uia 1 編寫了快速除錯程式UiAutomatorHelper,我想反正就那麼幾條命令,為什麼不寫一個bat檔案來執行呢?bat執行速度肯定比java程式快很多。於是就動手寫出來了。

       假設我的uia程式的工程目錄為d:\workspace\****,那麼快速除錯的bat程式內容如下:

d:

cd workspace\****

call ant build

adb push bin\程式包名.jar /data/local/tmp

adb shell uiautomator runtest 程式包名.jar -c PackageName.ClassName#MethodName

cmd

     大家只需新建一個txt檔案,將上面的命令段複製進去,根據自己的程式修改相應的引數,儲存關閉txt檔案,將檔名的txt字尾改為bat即製作完成了快速除錯的工具,雙擊即可執行。

     看到這段bat大家可能有些疑問:

1、為什麼沒寫建立build.xml的命令?因為這條命令一個工程只需要執行一次即可,不需要在除錯過程中不斷重複執行,所以為了快速除錯的速度,自然不應寫上這條命令。有需要的人自行新增吧。

2、第1、2條命令為什麼不寫成一條:cd d:\workspace\**** ?因為在windows中,如果你當前目錄本來不在d盤,使用那樣的命令是無法進入相應目錄的,必須用“d:”命令先切換到d盤。

3、第三行程式為什麼要在ant前面加call?我之前也是寫ant build,但不知道為什麼這條命令執行完之後就自動退出,不會再執行下面的指令,後來在網上搜索之後才找到這個方法讓其能正常執行。

4、為什麼在最後一行寫個cmd?為了bat執行完成之後不自動退出,以便檢視執行結果是否正常。

      大家要是還有問題的話歡迎和我交流。對uia有什麼其他的問題的話也可以發到百度貼吧來大家一起討論:http://tieba.baidu.com/f?kw=uiautomator 。