Android ADB基礎知識

2021-07-03 14:24:00 字數 2824 閱讀 7801

1、adb配置到執行環境中

右鍵 我的電腦 -> 屬性 -> 高階 -> 環境變數

在系統變數中找到 path變數名,在變數值中新增 .../sdk\platform-tools

當你啟動乙個adb客戶端,客戶端首先確認是否已有乙個 adb 服務程序在執行。如果沒有,則啟動服務程序。當伺服器執行,adb伺服器就會繫結本地的 tcp 埠 5037 並監聽 adb 客戶端發來的命令,一般所有的 adb 客戶端都是用埠5037 與 adb 伺服器對話的。

接著伺服器將所有執行中的模擬器或裝置例項建立連線,它通過掃瞄所有 

5555 

到 5585 

範圍內的奇數埠來定位所有的模擬器或裝置。一旦伺服器找到 了

adb守護程式,它將建立乙個到該埠的連線

注:任何模擬器或裝置例項會取得兩個連續的埠,

乙個偶數埠用來相應控制台的連線,和乙個奇數埠用來響應 

adb連線,比如說

:模擬器1,控制台:埠5554

模擬器1,adb埠5555

控制台:埠5556

adb埠5557…

如上所示,模擬器例項通過5555埠連線adb,就如同使用5554埠連線控制台一樣。

一旦伺服器與所有模擬器例項建立連線,就可以使用 

adb 

命令控制和訪問該例項。因為伺服器管理模擬器

/裝置例項的連線,和控制處理從來自多個 

adb 

客戶端來的命令,你可以通過任何客戶端

(或指令碼

)來控制任何模擬器或裝置例項

2、adb指令

1> 發出 adb 命令

發出android命令: 你可以在你的開發機上的命令列或指令碼上發布android命令,使用方法:

adb [-d|-e|-s ]

當你發出乙個命令,系統啟用android客戶端。客戶端並不與模擬器例項相關,所以如果雙伺服器/裝置是執行中的,你需要用-d 選項去為應被控制的命令確定目標例項。使用這個選項的更多資訊,可以檢視模擬器/裝置例項術語控制命令

2> 查詢模擬器/裝置例項

在發布 adb命令之前,有必要知道什麼樣的模擬器/裝置例項與 adb 伺服器是相連的。可以通過使用devices 命令來得到一系列相關聯的模擬器/裝置:

adb devices

作為回應,adb為每個例項都制定了相應的狀態資訊:

1> 

序列號——由adb建立的乙個字串,這個字串通過自己的控制埠-唯一地識別乙個模擬器/裝置例項。下面是乙個序列號的例子:emulator-5554

2> 

例項的連線狀態有三種狀態:

<1> 

offline:

此例項沒有與 adb 相連線或者無法響應

<2> 

device:

此例項正與 adb 伺服器連線

注:這個狀態並不能百分之百地表示在執行和操作android系統,因為這個例項是當系統正在執行的時候與adb連線的。然而,在系統啟動之後,就是乙個模擬器/裝置狀態的正常執行狀態

每個例項的輸出都有如下固定的格式:

[serialnumber] [state]

下面是乙個展示devices 命令和輸出的例子:

$ adb devices

list of devices attached

emulator-5554    device

emulator-5556    device

emulator-5558    device

如果當前沒有模擬器/裝置執行,adb則返回no device

3> 給特定的模擬器

/裝置例項傳送命令

如果有多個模擬器/裝置例項在執行,在發布adb命令時需要指定乙個目標例項。 這樣做,請使用-s 選項的命令。在使用的-s 選項是

adb -s

如上所示,給乙個命令指定了目標例項,這個目標例項使用由adb分配的序列號。你可以使用devices 命令來獲得執行著的模擬器/裝置例項的序列號

示例如下:

adb -s emulator-5556 install helloworld.apk

注:要是有多個裝置,如果沒有指定乙個目標模擬器/裝置例項就執行-s 這個命令的話,adb會產生乙個錯誤

4> 安裝軟體

可以使用 adb 從電腦上覆制乙個應用程式,並且將其安裝在乙個模擬器/裝置例項。像這樣做,使用install 命令。這個install 命令要求你必須指定你所要安裝的.apk檔案的路徑:

adb install

為了獲取更多的關於怎樣建立乙個可以安裝在模擬器/裝置例項上的.apk檔案的資訊,可參照android asset packaging tool

(aapt).

注:如果你正在使用 eclipse ide 並且已經安裝過 adt外掛程式,那麼就不需要直接使用adb(或者aapt)去安裝模擬器/裝置上的應用程式。否則,adt外掛程式代你全權處理應用程式的打包和安裝

5> 從模擬器/裝置中拷入或拷出檔案

可以使用adb pull,push 命令將檔案複製到乙個模擬器/裝置例項的資料檔案或是從資料檔案中複製。install 命令只將乙個 .apk檔案 複製到乙個特定的位置,與其不同的是,pull 和push 命令可令你複製任意的目錄和檔案到乙個模擬器/裝置例項的任何位置

從模擬器或者裝置中複製檔案或目錄,使用(如下命):

adb pull

將檔案或目錄複製到模擬器或者裝置,使用(如下命令)

adb push

在這些命令中,和分別指通向自己的發展機(本地)和模擬器/裝置例項(遠端)上的目標檔案/目錄的路徑

下面是乙個例子::

adb push foo.txt /sdcard/foo.txt

知識儲備 Android ADB介紹

android adb總體概述 adb android debug bridge,位於 sdk plaform tools目錄下,path環境變數中要配置這一路徑的原因主要是要用到adb 是android sdk中的乙個除錯工具,利用adb這個除錯工具可以直接操作管理android模擬器或者真實的a...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...

C 基礎知識整理 基礎知識(2) 類

類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...