Android常用adb命令總結(一)

轉載https://www.cnblogs.com/testrabbit/p/6011329.html

ADB是android sdk裏的一個工具,用這個工具可以直接操作管理android模擬器或者真實的andriod設備。 ADB是一個客戶端-服務器端程序,其中客戶端是你用來操作的電腦,服務器端是android設備。

它的主要功能有:

  1. 運行設備的shell(命令行)
  2. 管理模擬器或設備的端口映射
  3. 計算機和設備之間上傳/下載文件
  4. 將本地apk軟件安裝至模擬器或android設備

adb 其實就是 Android Debug Bridge, Android 調試橋的縮寫,adb 是一個 C/S 架構的命令行工具,主要由 3 部分組成:

運行在 PC 端的 Client : 可以通過它對 Android 應用進行安裝、卸載及調試

Eclipse 中的 ADT、SDK Tools 目錄下的 DDMS、Monitor 等工具,都是同樣地用到了 adb 的功能來與 Android 設備進行交互。

 

 

adb服務使用的端口號:5037

PC 端的手機助手,如 360 手機助手、豌豆莢、應用寶等,除了安裝第三方應用方便,其他的功能,基本上都可以通過 adb 命令去完成,這裏要注意的是自帶的 adb 程序可能會與 Android SDK 下的 adb 程序產生衝突,5037 端口被佔用,導致使用 adb 命令時無法連接到設備。


運行在 PC 端的 Service : 其管理客戶端到 Android 設備上 adb 後臺進程的連接

adb 服務啓動後,Windows 可以在任務管理器中找到 adb.exe 這個進程

 

 

 

 

adb進程

運行在 Android 設備上的 adb 後臺進程,執行 adb shell ps | grep adbd ,可以找到該後臺進程,windows 下執行adb shell ps |findstr adbd

 

 

adb 命令

 

在開發或者測試的過程中,我們可以通過 adb 來管理多臺設備,其一般的格式爲:

adb [-e | -d | -s <設備***>]  <子命令>

在配好環境變量的前提下,在命令窗口當中輸入 adb help 或者直接輸入 adb ,將會列出所有的選項說明及子命令。

 

adb devices , 獲取設備列表及設備狀態

 

 

 

 

adb get-state , 獲取設備的狀態

設備的狀態有 3 鍾,device , offline , unknown
device:設備正常連接
offline:連接出現異常,設備無響應
unknown:沒有連接設備

 

 

 

 

adb logcat , 打印 Android 的系統日誌

 

adb bugreport , 打印dumpsys、dumpstate、logcat的輸出,也是用於分析錯誤

輸出比較多,建議重定向到一個文件中

adb bugreport > d:\bugreport.log

 

adb install , 安裝應用,覆蓋安裝是使用 -r 選項

windows 下如果需要安裝含有中文名的 apk ,可以直接對apk的包名進行修改

1. cmd-進入應用所在目錄(C:\WDJDownload\Apps)

2. 執行命令:adb install aiqiyi.apk(apk名稱)

3. 手機上會有提示是否同意安裝,點擊同意,進行安裝

 

4 .手機上安裝成功,出現success表示安裝成功。

 

 

adb uninstall , 卸載應用,

後面跟的參數是應用的包名,請區別於 apk 文件名

 

adb pull , 將 Android 設備上的文件或者文件夾複製到本地
例如複製 init 文件到 D 盤:adb   pull   init   d:\

如果需要重命名爲 rename.txt:adb  pull  init  d:\rename.txt

注意權限,複製系統權限的目錄下的文件,需要 root 

 

 

 

adb push , 推送本地文件至 Android 設備
例如推送 D 盤下的testrabbit.txt 至 /mnt:adb  push  d:\testrabbit.txt  /mnt/

D:\>adb push testrabbit.txt /mnt/

failed to copy 'testrabbit.txt' to '/mnt//testrabbit.txt': Read-only file system

 

 

在shell命令行中輸入:adb root

切換到root用戶

然後執行如下命令:(注意 /表示的是根目錄,因此這個不僅僅是對sdcard,其他文件也可以讀寫。rw表示讀寫權限,mount重掛載文件系統)

adb shell mount -o remount rw / , 修改系統讀寫權限

[email protected]:/ # adb shell mount -o remount rw /

 

adb root , adb remount,可以直接已這兩個命令獲取 root 權限,並掛載系統文件系統爲可讀寫狀態