1、adb相關概念
1.1 ADB
英文全名Android Debug Bridge,是一個通用命令行工具,其允許您與模擬器實例或連接的 Android真機設備進行通信。它可爲各種設備操作提供便利,如安裝和調試應用。
1.2 ADB client:
client本質上就是Shell,用來發送命令給Server。發送命令時,首先檢測PC上有沒有啓動Server,如果沒有Server,則自動啓動一個Server,然後將命令發送到Server,並不關心命令發送過去以後會怎樣。
1.3 ADB server:
運行在PC上的後臺程序,目的是檢測USB接口何時連接或者移除設備。
ADB Server維護着一個“已連接的設備的鏈表”,並且爲每一個設備標記了一個狀態:offline,bootloader,recovery或者online。
Server一直在做一些循環和等待,以協調client和Server還有daemon之間的通信。offline說明Server發現了一個設備,但是不能成功連接到Daemon。
1.4ADB Daemon
運行在Android 設備上的一個進程,作用是連接到adb server(通過usb或tcp-ip)。並且爲client提供一些服務。
2、adb工作原理
啓動一個 adb 客戶端時,此客戶端首先檢查是否有已運行的 adb 服務器進程。如果沒有,它將啓動服務器進程。當服務器啓動時,它與本地 TCP 端口 5037 綁定,並偵聽從 adb 客戶端發送的命令—所有 adb 客戶端均使用端口 5037 與 adb 服務器通信。
圖片來源於網絡:
3、ADB常用命令
3.1查看版本adb version
adb version
3.2連接模擬器adb connect
adb connect 127.0.0.1:62001
注意:這裏用的是夜神模擬器的端口,其規律是第一個模擬器端口是62001,第二個端口是62025,第三個是62026,以此類推。
3.3查看設備信息adb devices
adb devices
注意:查看設備,要先連接才能查看
3.4進入shell
adb shell
#進入指定設備shell
adb -s 127.0.0.1:62001 shell
#退出adb shell
exit
3.5ADB安裝
adb install | -r -r 覆蓋原安裝文件 -s 可以指定設備
#默認安裝
adb install “C:\Users\username\Desktop\Appium\wandoujia.apk”
#覆蓋安裝
adb install -r “C:\Users\username\Desktop\Appium\wandoujia.apk”
#指定設備安裝
adb -s 127.0.0.1:62001 install C:\Users\username\Desktop\Appium\kaoyan3.1.0.apk \wandoujia.apk"
3.6ADB卸載
注意:若在shell環境下不能卸載,可以直接在cmd環境下卸載
adb shell uninstall | -k <path+apkName>
3.7查看應用包名
adb shell pm list package
3.8尋找特定的包名
adb shell pm list package | grep
3.9push和pull文件讀寫
#將文件寫入到設備
adb push
#將文件讀取到某設備
adb pull
3.10adb服務啓動和關閉
#關閉adb服務
adb kill-server
#開啓adb服務
adb start-server