Android 經常使用 adb 命令

(一)基礎操做

  • 安裝appgit

    adb install -r xxx.apk //覆蓋安裝,保留數據和緩存文件
    adb install -s xxx.apk //安裝apk到sd卡
    adb install -f xxx.apk //安裝apk到內部系統內存
    adb install -d xxx.apk //安裝低版本Apk
    adb install -g xxx.apk //准許Apk manifest中的全部權限
  • 獲取安裝位置shell

    adb shell pm get-install-location
  • 卸載app緩存

    adb uninstall <package>
    adb uninstall -k <package> //卸載app但保留數據和緩存文件
  • 重啓手機架構

    adb reboot
  • 啓動adb服務app

    adb start-server
  • 關閉服務less

    adb kill-server
  • 進入shell環境ide

    adb shell

(二)設備信息查看

  • 查看所鏈接的設備以及設備所對應的序列號學習

    adb devices
  • 查看手機CPU架構(eg.ARMv7) 和內核個數網站

    adb shell cat /proc/cpuinfo
  • 查看系統的詳盡內存信息,包含內核狀況

    adb shell cat /proc/meminfo
  • 獲取手機磁盤空間

    adb shell df
  • 獲取手機系統版本

    adb shell getprop ro.build.version.release
  • 獲取機器MAC地址:

    adb shell  cat /sys/class/net/wlan0/address
  • 查看wifi密碼

    adb shell cat /data/misc/wifi/*.conf

(三)pm / am相關

  • 清除應用的數據

    adb shell pm clear <package>
  • 查看App路徑

    adb shell pm path <package>
  • 查看全部已安裝的應用的包名

    adb shell pm list packages -f
  • 查看含有「google」字段的應用的包名

    adb shell pm list packages google
  • 查看第三方應用的包名

    adb shell pm list packages -3
  • 啓動某個應用的某個Activity

    adb shell am start -n packagename/packagename.activityname
    如:adb shell am start -n com.company.appname/ .SplashActivity -es url http://www.baidu.com 
    //-es表示需傳遞參數,其中url表示參數名,連接表示具體參數值
  • 撥打電話

    adb shell am start -a android.intent.action.CALL -d tel:10086
  • 打開網站

    adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com

(四)進程 / 服務查看

  • 查看進程信息

    adb shell ps | grep xxx
  • 查看指定進程狀態

    adb shell ps -x [pid]
  • 週期性地打印出進程運行隊列、系統切換、CPU時間佔比等狀況

    adb shell vmstat
  • 各進程內存使用狀況

    adb shell procrank
  • 殺死一個進程

    adb shell kill [pid]
  • 查看後臺services信息

    adb shell service list

(五)dumpsys系列

  • 查看當前手機所支持的dump服務

    adb shell dumpsys -l
  • 查看包信息 Package Information

    adb shell dumpsys package
    adb shell dumpsys package packages | grep <package>  //查看某個app資源路徑
  • 查看內存使用狀況

    adb shell dumpsys meminfo | grep xxx
    adb shell dumpsys meminfo <pid> // 輸出指定pid的內存使用狀況
    adb shell dumpsys meminfo --package <package> // 輸出指定包名內存使用狀況
    adb shell top -m 6 //查看內存佔用前6的app
  • 查看棧頂Activity,能夠用來獲取包名,查看其它app的包名

    adb shell dumpsys activity top
  • 查看渲染耗時

    adb shell dumpsys gfxinfo <package> > /sdcard/fps.txt 
    取出文件:adb pull /sdcard/fps.txt /Users/admin/Downloads/1234.txt
  • 查看am的狀態

    adb shell dumpsys activity
  • Memory Use Over Time

    adb shell dumpsys procstats

(六)文件操做

  • 移動文件/文件夾

    adb shell mv path/file newpath/file
  • 新建文件夾

    adb shell mkdir path
  • 新建文件

    adb shell touch filename
  • 重命名文件/文件夾

    adb shell rename path/filename newpath/newfilename
  • 查看文件內容

    adb shell cat file
  • 從手機複製文件到電腦

    adb pull /data/anr/traces.txt /Users/admin/Downloads/1234.txt
  • 從電腦向手機發送文件

    adb push foo.txt /sdcard/foo.txt

(七)log相關

  • 查看日誌

    adb logcat | grep xxx
  • 日誌輸出到文件

    adb logcat -d > ~/Desktop/logcat.txt //保存到桌面,須要android.permission.READ_LOGS
  • 清除log緩存

    adb logcat -c

(八)其餘

  • 鏈接到指定的ip,一般配合wifidebug

    adb connect <device-ip-address>
  • 跑monkey

    adb shell monkey -v -p <package> 500 // 跑500次
  • 截屏

    adb shell /system/bin/screencap -p /sdcard/screenshot.png
    adb pull /sdcard/screenshot.png ./Dowload/screenshot.png(保存到電腦)
  • 屏幕錄製

    adb shell screenrecord  --time-limit 30 /sdcard/demo.mp4
    adb pull /sdcard/demo.mp4 ./Downloads/

深刻學習

相關文章
相關標籤/搜索