ADB經常使用命令及做用

ADB

ADB全稱Android Debug Bridge。
ADB是一種功能多樣的命令行工具,起到了調試橋的做用,能夠用來操做Android設備。
ADB是Android開發/測試人員強大的工具。android

能夠說,ADB對咱們Android的開發相當重要,深刻的瞭解經常使用的命令和做用就顯得相當重要了shell

ADB使一種客戶端-服務器程序,包括如下三個組件:segmentfault

  • 客戶端:用於發送命令,客戶端在開發計算機上運行,經過發出adb命令從命令行終端調用客戶端。
  • 守護進程:在設備上運行命令,守護進程在每一個設備上做爲後臺進程運行。
  • 服務器:管理客戶端和守護進程之間的通訊,服務器在開發計算機上做爲後臺進程運行。

adb包含在Android SDK平臺工具軟件包當中,如何配置環境變量網上有太多的教程,咱們就不贅述了。緩存

ADB經常使用命令

環境變量配置完以後,咱們輸入adb,就會出現如下的一下命令提示。安全



除了這個截圖,後面還有不少的命令,接下來對咱們經常使用的命令行進行一下詳細的介紹。
看目錄咱們能夠知道,ADB分爲全局命令、常規命令、網絡命令、文件傳輸命令、
應用安裝命令、備份和恢復命令、調試命令、安全命令、腳本命令、內部調試命令、Shell命令。這幾種命令,對於每一種命令,官網上都有詳細的解釋
developer.android.google.cn/studio/comm…bash

接下來,對於經常使用的一些命令,我着重的介紹一下。服務器

ADB全局選項

全局選項 說明
-a 在全部網絡接口上監聽,而非只在localhost上監聽。
-d 將adb命令發送到惟一鏈接的USB設備。若是鏈接了多個USB設備,則返回錯誤。
-e 將adb命令發送到惟一運行的模擬器。若是有多個模擬器在運行,則返回錯誤。
-s serial_number 將adb命令發送到以其adb分配的序列號命名的特定設備(例如「emulator-5556」)。替換存儲在 $ANDROID_SERIAL 環境變量中的序列號值。
-H server adb服務器主機的名稱。默認值爲localhost。
-P port adb服務端口號。默認值爲5037。
-L socket 在提供的adb socket服務器的監聽。默認值爲tcp:localhost:5037。

啓動/中止 服務

啓動adb service命令:
adb start-server
可是,通常狀況下,咱們無需手動調用這個命令,在運行的adb命令時候發現adb service沒用啓動的時候纔會調用。微信

中止 adb service命令:
adb kill-server網絡

常規命令

常規命令 說明
devices [-l] 輸出全部的設備列表。-l 選項用於包含設備的描述
help 輸出支持的adb命令及其描述的列表
version 輸出adb版本號

查看應用列表

查看應用列表的的命令是
socket

adb shell pm list packages複製代碼

具體的內容包括

參數 顯示列表
全部應用
-f 顯示應用關聯的apk文件
-d 只顯示disabled的應用
-e 只顯示enable的應用
-s 只顯示系統應
-3 只顯示第三方應用
-i 顯示應用的installer
-u 包含已卸載應用
-<FILTER> 包名包含<FILTER>字符串

安裝APK

adb install <apk file>
常見參數及含義

參數 含義
-r 容許覆蓋安裝
-s 將應用安裝到sdcard
-d 容許降級覆蓋安裝

卸載應用

adb unstall [-k] <packagename>
其中 <packagename> 表示應用的包名,-k參數可選,表示卸載應用可是保留數據和緩存目錄。

清除應用數據與緩存

adb shell pm clear <packagename>
<packagename>表示應用包名

查看日誌

[adb] logcat [<option>] ... [<filter-spec>] ...複製代碼

經常使用用法列舉以下:

1. 按級別過濾日誌
Android 的日誌分爲以下幾個級別:
V —— Verbose(最低,輸出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不輸出)

按某級別過濾日誌則會將該級別及以上的日誌輸出。
好比,命令:
adb logcat *:W會將 Warning、Error、Fatal 和 Silent 日誌輸出。

2. 按 tag 和級別過濾日誌
好比,命令:

adb logcat MyApp:D *:S複製代碼

表示輸出
tag ActivityManager 的 Info 以上級別日誌。

打開指定Activity

adb shell am start [options] <INTENT>複製代碼

例如:

adb shell am start -n com.tencent.mm/.ui.LauncherUI複製代碼

查看bug報告

adb bugreport複製代碼

參考鏈接

developer.android.google.cn/studio/comm…
segmentfault.com/a/119000000…

動動小手指點贊,收藏,關注一鍵三連走一波吧!

歡迎關注公共號

關注公衆號會有更多收穫!


我的微信

咱們一塊兒討論,進步,提升!

加的人較多,請添加備註


相關文章
相關標籤/搜索