ADB命令用法大全


一、ADB簡介

Android Debug Bridge,安卓調試橋,它借助adb.exe(Android SDK安裝目錄platform-tools下),用於電腦端與模擬器或者真實設備交互;使用adb命令需安裝Android SDK,並配置環境變量;它是一個C/S架構的應用程序,由三部分組成:

  • adb client:運行在PC上(為DDMS即IDE工作)
  • adb daemon:守護進程,運行於Emulaor
  • adb server:服務進程,運行在PC,管理adb client和adb daemon之間的通信

server與client通信的端口是5037,adb server與emulator交互時使用的端口有兩個:

  • 5554專門用於與Emulator實例的連接
  • 5555專門用於與daemon連接

二、常用命令

1.基礎用法

  • 查看adb版本: adb version
  • 重啟adb服務:adb kill-server adb start-server
  • 進入shell模式:adb shell
  • 退出shell模式:exit
  • 查看連接本台PC的設備列表:adb devices(unknown-沒有設備;device-連接正常;offline-離線;unauthorized-未認證、需手動在手機上同意授權)
  • 查看連接本台PC的設備列表(只展示設備ID):adb get-serialno

2.安裝包相關

  • 安裝apk:adb install 安裝包路徑\包名
  • 保留緩存和數據安裝:adb install -r 安裝包路徑\包名
  • 卸載apk,不保留數據和緩存:adb uninstall 包名
  • 卸載apk,留數據和緩存:adb uninstall -k 包名
  • 清除應用數據及緩存:adb shell pm clear 包名
  • 查看當前設備已安裝的apk列表:adb shell pm list packages -s
  • 查看當前設備已安裝的第三方apk列表:adb shell pm list packages -3

 3.文件相關

  • 電腦push文件到手機:adb push D:/a.txt /sdcard/
  • 從手機拉取文件:adb pull /mnt/sdcard/51zxw.txt D:\a.txt

4.截屏錄屏

  • 截屏:adb shell screencap /sdcard/sca.png
  • 錄屏:adb shell screenrecord /sdcard/scr.mp4
  • 錄屏,指定分辨率:adb shell screenrecord --size 1280*720 /sdcard/scr.mp4
  • 錄屏,指定比特率:adb shell screenrecord --bite-rate 6000000 /sdcard/scr.mp4

5.進程相關

  • 查看當前應用PID:adb shell ps | findstr 包名 (方式二:adb shell ps | grep 包名,高版本需加上雙引號,即:adb shell "ps | grep 包名")
  • 查看被測應用UID:adb shell cat /proc/$pid/status
  • 殺死某個APP進程:adb shell am force-stop 包名;adb shell kill pid
  • 實時監聽某一進程變化:adb shell "top | grep pid"
  • 查看pid進程查看包名:adb shell "ps | grep pid"

6.性能相關

  • 獲取當前應用占用內存:adb shell dumpsys meminfo 包名
  • 獲取當前應用占用CPU:adb shell dumpsys cpuinfo | findstr 包名
  • 獲取流暢度相關:adb shell dumpsys gfxinfo 包名
  • 獲取手機當前電量信息:adb shell dumpsys battery

7.Activity相關

  • 顯示當前運行APP的activity方法1:adb shell dumpsys activity | findstr "mFocusedActivity"
  • 顯示當前運行APP的activity方法2:adb shell dumpsys activity | findstr mCurrentFocus
  • 獲取手機內top Activity:adb shell dumpsys activity top | findstr ACTIVITY
  • 根據啟動的APP獲取其包名和Activity:輸入命令 adb logcat ActivityManager:I *:s,后啟動APP,觀察adb窗口打印情況
  • 啟動一個activity:adb shell am start activity路徑,例:adb shell am start com.tencent.mm/.ui.LauncherUI

8.獲取手機信息相關

  • 獲取設備名稱:adb get-serialno
  • 查看設備型號:adb shell getprop ro.product.model
  • 查看Android系統版本:adb shell getprop ro.build.version.release
  • 查看屏幕分辨率:adb shell wm size
  • 查看屏幕密度:adb shell wm density

9.模擬器相關

  • 顯示系統中全部Android平台:android list targets
  • 顯示系統中全部AVD(模擬器):android list avd
  • 創建AVD(模擬器):android create avd --name 名稱 --target 平台編號
  • 啟動模擬器:emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
  • 刪除AVD(模擬器):android delete avd --name 名稱
  • 創建SDCard:mksdcard 1024M ~/名稱.img

10.遠程連接手機

①確保PC連接手機成功
②查看手機連接的WiFi地址(需保持和PC在同一個局域網內)
③命令行輸入:
adb tcpip 5555
adb connect 192.168.2.45:5555(使用此方式連接后,設備名為192.168.2.45:5555)

11.ADB連接多台設備時指定設備操作

  • 指定設備執行adb命令:adb -s 命令,如:adb -s b68a93e install D:\安裝包\a.apk
  • 指定設備執行shell命令:adb -s shell ,如:adb -s b68a93e shell "ps | grep com.tencent.mm"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM