ADB 你想找的命令都在這裏

極力推薦文章:歡迎收藏 Android 乾貨分享 android

#####閱讀五分鐘,每日十點,和您一塊兒終身學習,這裏是程序員Android程序員

本篇文章主要介紹 Android 開發中的部分知識點,經過閱讀本篇文章,您將收穫如下內容:shell

1、ADB 簡介 2、ADB的工做方式 3、ADB經常使用命令緩存

1、ADB 簡介

ADB(Android Debug Bridge) 是一個通用命令行工具,其容許您與模擬器實例或鏈接的 Android 設備進行通訊。它可爲各類設備操做提供便利,如安裝和調試應用,並提供對 Unix shell(可用來在模擬器或鏈接的設備上運行各類命令)的訪問。該工具做爲一個客戶端-服務器程序。bash

  • 客戶端,該組件發送命令。客戶端在開發計算機上運行。您能夠經過發出 adb 命令從命令行終端調用客戶端。服務器

  • 後臺程序,該組件在設備上運行命令。後臺程序在每一個模擬器或設備實例上做爲後臺進程運行。微信

  • 服務器,該組件管理客戶端和後臺程序之間的通訊。服務器在開發計算機上做爲後臺進程運行。app

adb 工具路徑 android_sdk/platform-tools/工具

2、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 機器

此方法不經常使用,暫時忽略

3、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

  • b. 獲取apk 版本號,權限等信息的方法 adb shell dumpsys package com.xxx.xxx(包名)

adb 獲取apk 版本號,權限等

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

電源管理相關命令

11. 使用adb 命令進入recovery 模式

進入Recovery 模式可使用組合鍵,也可使用adb 命令 adb 命令進入recovery 模式以下adb reboot recovery

adb 命令進入recovery模式

12. 跳過Google 開機嚮導的命令

adb shell pm disable com.google.android.setupwizard
adb shell settings put global device_provisioned 1
adb shell settings put secure user_setup_complete 1
複製代碼

啓動開機嚮導命令

C:\Users\Administrator>adb shell am start  com.google.android.setupwizard/.user.WelcomeActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.google.android.setupwizard/.user.WelcomeActivity }

C:\Users\Administrator>
複製代碼

至此,本篇已結束,若有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!

微信關注公衆號:  程序員Android,領福利
相關文章
相關標籤/搜索