● 前言
利用工作之餘的時間將Android測試相關知識進行一個整理,一來鞏固一下自己學到的東西;二來
可以讓想學習Android測試的同學多一份學習資料。
● 何爲ADB
什麼是ADB呢?爲什麼手機和電腦之間用usb連接後,就可以電腦上通過應用寶或者豌豆莢等手機助
手軟件對手機進行操作?
答案就是:因爲這些都依賴於ADB。ADB就是連接手機和電腦通信的橋樑,只要這個橋樑建立起了,
那麼你就可以通過電腦來控制你的手機了。
ADB全稱Android Debug Bridge,我把它解釋爲“安卓調試的橋樑”,他是由三部分組成:
1、客戶端 client:運行在你的電腦上,你可以通過shell來調用起一個客戶端。其他Android
工具,例如ADT插件、DDMS都可以創建出一個客戶端
2、服務器 server:運行在你電腦的後臺,負責管理client和daemon進行通信。
3、守護進程 daemon:運行在模擬器或者Android設備的後臺。
但是它最終呈現給我們用的就是一個命令行的工具 ( command line tool ),通過它我們就可以
和模擬器或者是Android設備進行通信。它就在 <sdk>/platform-tools/ 這個目錄下:
每次啓動客戶端的時候,首先會檢查服務器是否已經在後臺運行了,如果沒有,他就會啓動server進程;
如果server是開啓的,server就會綁定在 TCP 的 5037 端口然後監聽客戶端發出來的命令;
所有的client都是通過 5037 端口和server進行通信的。
USB調試
當我們通過USB數據線來使用ADB的時候,通常需要將 "設置"-"開發者選項"-"USB調試" 這個框勾上。
需要注意的是:在有些 Android 4.2.2版本以上,是隱藏了“開發者選項”的,因此需要在 “設
置”-“關於手機”-“Android版本” 在這裏連續點擊7次,然後“開發者選項”就出現了。
● ADB 命令
連上手機,配置好了環境變量(直接搜索“adb環境變量配置”會出一大堆)就可以使用命令了。下面列舉一下常用的命令
adb devices 查看當前連接設備
顯示當前連接的一個序號和狀態:
adb install <path_to_apk> 安裝apk文件
給的Apk的路徑是當前PC端文件所在的路徑:
adb -s <serialNumber> <command> 指定設備執行命令
serialNumber就是adb devices中的第一列的信息
adb pull <remote> <local> 將Android設備上的文件拉到本地
一般Android手機默認的存儲路徑是“/mnt/sdcard/”,我們把這裏面的一個文件拉到C盤
然後我們去電腦的C盤下去看一眼:
通過Adb pull 命令複製出來的文件
adb push <local> <remote> 把本地文件複製到Android設備上
和 adb pull 剛好是一對相反的命令。
adb start-server 啓動adb的server
adb kill-server 關閉adb的server
有點時候adb在沒有響應的時候,我們需要重啓adb,不過這種情況一般較少。
adb shell [shellCommand] 運行shell命令
衆所周知,Android是基於linux內核的,因此可以在Android的系統上運行shell命令
通過adb shell 可以進入手機的系統,然後執行一些linux的命令
當然也可以不進入系統,直接使用命令
例如adb shell下安裝和卸載命令是:
pm uninstall com.tencent.qq
pm install -r "/data/local/tmp/com.tencent.qq"
本文爲個人使用的認知,知識點可能會有些偏差,希望大家能批評指正。