[Android] 命令行工具adb

1 是什么

adb:Android Debug Bridge (安卓調(diào)試橋)
是一個(gè)命令行工具,用于電腦端和模擬器或者是設(shè)備之間的交互。

它是一個(gè)C/S架構(gòu)程序,由3部分組成:

  • 客戶端(client):用于發(fā)送命令。在開(kāi)發(fā)機(jī)上運(yùn)行,可以通過(guò)發(fā)送adb命令來(lái)從命令行終端來(lái)調(diào)用客戶端。
  • 守護(hù)進(jìn)程(adbd):在設(shè)備上運(yùn)行命令,在每個(gè)設(shè)備上作為后臺(tái)進(jìn)程運(yùn)行。
  • 服務(wù)器(server):管理客戶端和守護(hù)進(jìn)程之間的通信,服務(wù)器在開(kāi)發(fā)機(jī)上作為后臺(tái)進(jìn)程運(yùn)行。
image

2 原理

我們來(lái)看看adb是如何工作的。

  • 1.確保啟動(dòng)adb服務(wù)器:
在開(kāi)發(fā)機(jī)上啟動(dòng)adb客戶端的時(shí)候會(huì)檢查是否有adb服務(wù)器正在運(yùn)行。如果沒(méi)有則會(huì)啟動(dòng)adb服務(wù)器
  • 2.adb客戶端和adb服務(wù)器通過(guò)TCP端口5037進(jìn)行通信。adb服務(wù)器監(jiān)聽(tīng)adb客戶端發(fā)出的命令

  • 3.adb與正在運(yùn)行的設(shè)備建立連接。adb服務(wù)器掃描 5555 到 5585 之間的奇數(shù)號(hào)端口查找模擬器,一旦發(fā)現(xiàn)adbd(守護(hù)進(jìn)程),便會(huì)與相應(yīng)的端口建立連接。

    • 模擬器:通過(guò)TCP通信
    • 真機(jī):通過(guò)USB/TCP通信

    注意:
    1.端口5555到5585,該范圍供前16個(gè)模擬器使用。
    2.每個(gè)模擬器都使用一對(duì)按順序排列的端口,其中偶數(shù)號(hào)端口供控制臺(tái)使用,奇數(shù)號(hào)端口供adb連接。
    比如
    模擬器 1,控制臺(tái):5554
    模擬器 1,adb:5555
    如上所示,在端口 5555 處與 adb 連接的模擬器與控制臺(tái)監(jiān)聽(tīng)端口為 5554 的模擬器是同一個(gè)。

  • adb服務(wù)器與設(shè)備建立連接后,就可以使用adb命令訪問(wèn)這些設(shè)備了。

時(shí)序圖:


3 安裝

這里講的是先安裝了android studio,然后使用adb的步驟。

1.下載:
`adb` 包含在 Android SDK 平臺(tái)工具軟件包中。您可以使用 https://developer.android.google.cn/studio/intro/update#sdk-manager下載此軟件包,
該管理器會(huì)將其安裝在 `android_sdk/platform-tools/` 下。
或者,如果您需要獨(dú)立的 Android SDK 平臺(tái)工具軟件包,
可以到 https://developer.android.google.cn/studio/releases/platform-tools下載。
2.添加環(huán)境變量

這里以MAC系統(tǒng)添加為例

  • 1.打開(kāi)terminal
  • 2.vim .bash_profile
  • 3.添加如下內(nèi)容到bash_profile下
    # android
    export ANDROID_HOME=/Users/{username}/Library/Android/sdk
    export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    
  • 4.查看是否能夠訪問(wèn)adb,在命令行輸入adb命令
當(dāng)然,你也可以使用apt命令直接安裝adb

apt-get install adb

4 功能

4.1 安裝apk

如果安裝某個(gè)apk不成功,可以使用adb安裝下,就可以看到具體不成功的錯(cuò)誤。
adb install xxx.apk

4.2 查看連接的設(shè)備

adb devices

4.3 顯示手機(jī)所有應(yīng)用

adb shell pm list packages

4.4 查看手機(jī)電池情況

adb shell dumpsys battery

4.5 屏幕截圖

adb exec-out screencap -p > test.png

參考:
https://developer.android.google.cn/studio/run/device
https://duanqz.github.io/2015-05-21-Intro-adb

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容