ADB 你想找的命令都在這裡

本篇文章主要介紹 Android
開發中的部分知識點,通過閱讀本篇文章,您將收穫以下內容:
一、ADB 簡介
二、ADB的工作方式
三、ADB常用命令
公眾號ID:ProgramAndroid
獲取更多資訊

微信公眾號:ProgramAndroid
我們不是牛逼的程式設計師,我們只是程式開發中的墊腳石。
我們不傳送紅包,我們只是紅包的搬運工。
一、ADB 簡介
ADB(Android Debug Bridge) 是一個通用命令列工具,其允許您與模擬器例項或連線的 Android 裝置進行通訊。它可為各種裝置操作提供便利,如安裝和除錯應用,並提供對 Unix shell(可用來在模擬器或連線的裝置上執行各種命令)的訪問。該工具作為一個客戶端-伺服器程式。
-
客戶端,該元件傳送命令。客戶端在開發計算機上執行。您可以通過發出 adb 命令從命令列終端呼叫客戶端。
-
後臺程式,該元件在裝置上執行命令。後臺程式在每個模擬器或裝置例項上作為後臺程序執行。
-
伺服器,該元件管理客戶端和後臺程式之間的通訊。伺服器在開發計算機上作為後臺程序執行。
adb 工具路徑
android_sdk/platform-tools/
二、ADB的工作方式
1. 連線 Android 模擬器
ADB與本地 TCP 埠 5037 繫結,並偵聽從 adb 客戶端傳送的命令—所有 adb 客戶端均使用埠 5037 與 adb 伺服器通訊。然後,伺服器設定與所有執行的Android模擬器/Android 裝置連線。
2.USB 連線 Android 機器
- a. 開啟開發者選項
Settings> About phone >連續點選 Build number 七次
-
b. 開啟 USB debugging
-
c . Dos 下輸入 adb devices 驗證手機是否連上 adb

驗證adb 是否連線成功
3.WLAN 連線 Android 機器
此方法不常用,暫時忽略
三、ADB常用命令
1. 安裝解除安裝apk
- a. 安裝apk
adb install apk路徑

安裝apk
- b. 解除安裝apk
adb unstall apk包名

查詢包名,並根據包名解除安裝apk
2. 匯入/匯出 檔案到手機中
- a. 匯出手機檔案
adb pull remote local

將手機Setting.apk 匯出到電腦D盤
- b. 匯入檔案到手機
adb push local remote

將電腦D 盤的檔案 匯入到手機/system/priv-app/Settings目錄下
3.開啟、停止ADB 服務
- a. 開啟ADB 服務
adb start-server
- b. 停止ADB服務
adb kill-server

ADB 服務的開啟與停止
4. 使用ADB 命令截圖、錄影
- a. 截圖 screencap
adb shell screencap 檔案儲存路徑

使用adb 命令截圖
- b. 錄影 screenrecord
adb shell screenrecord 檔案儲存路徑

使用adb 命令錄屏錄影
按 Control + C 停止螢幕錄製,否則,到三分鐘或 --time-limit
設定的時間限制時,錄製將自動停止。
screenrecord 部分引數
選項 | 說明 |
---|---|
--size width x height | 設定解析度 eg:1280x720 |
--bit-rate rate | 視訊位元率,預設值為 4Mbps,可以設6Mbps,這樣質量更好 eg: adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4 |
--time-limit time | 設定最大錄製時長(以秒為單位)。預設值和最大值均為 180(3 分鐘)。 |
5. 呼叫ActivityManager(am 命令)
- a. 傳送 intent
adb shell am start -a android.intent.action.VIEW
- b.啟動Activity
adb shell am start -n 包名/類名

啟動QQ
- c. 啟動service
adb shell am startservice 包名/類名

啟動指定的Service
- d. 傳送廣播
adb shell am boradcast -a 廣播Action

adb 命令傳送開機廣播
- e. 強行停止應用
adb shell force-stop 包名

強行停止QQ程序,正在使用的QQ就會閃退被殺掉
6. 呼叫 PackageManager(pm 命令)
- a. 解除安裝apk
adb shell pm uninstall 包名

解除安裝QQ
- b. 檢視手機中所有apk 包名
adb shell pm list packages

部分apk包名檢視
- c. 檢視已知許可權組
adb shell pm list permission-groups

所有手機許可權組檢視
- d. 檢視手機Feature 支援
adb shell pm list features

檢視手機Feature
- e. 根據包名,檢視apk 安裝路徑
adb shell pm path 包名

檢視SystemUI apk 路徑
- f. 清除app 資料
adb shell pm clear 包名

清除QQ apk 資料
- g. 多使用者相關
檢視支援最多使用者數
adb shell pm get-max-users
查詢系統所有使用者
adb shell pm list users
建立新使用者
adb shell pm create-user user_name
移除指定id使用者
adb shell pm remove-user user_id

測試發現只有 使用adb 命令建立的多使用者才可用命令移除
7. dumpsys將系統資料轉儲到螢幕
- a. 獲取當前執行的Activity
adb shell dumpsys activity | findstr Run

獲取最近執行的Activity ,已經Top Activity
8. 檢視手機系統程序
- a.使用Top命令檢視系統程序
adb shell top

使用Top命令檢視系統程序
- b. 使用 ps 命令檢視系統程序
adb shell ps

使用 ps 命令檢視系統程序
結合findstr 命令 過濾多餘的資訊 adb shell ps | findstr qq

結合findstr 命令 過濾多餘的資訊
9. 使用logcat抓 log資訊
- a.使用 logcat 抓取log資訊
adb logcat > 1.txt

使用logcat 抓取的資訊
- b.使用 -s 過濾log標籤
adb logcat -s 關注log標籤

使用-s 過濾關注log標籤
- c. 使用 -c 清除快取log
adb logcat -c
10. 電量管理相關命令
- a.模擬拔下裝置電源
adb shell dumpsys battery unplug
- b. 低電量條件下的行為
adb shell settings put global low_power 1
- c .恢復電源修改
adb shell dumpsys battery reset

電源管理相關命令
至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。期待您的關注,
感謝您的閱讀,謝謝!
如有侵權,請聯絡小編,小編對此深感抱歉,同時小編會立即停止侵權行為。
歡迎關注微信公眾號:程式設計師Android
公眾號ID:ProgramAndroid
獲取更多資訊

微信公眾號:ProgramAndroid
我們不是牛逼的程式設計師,我們只是程式開發中的墊腳石。
我們不傳送紅包,我們只是紅包的搬運工。

點選閱讀原文,獲取更多福利
