常用adb 和 adb shell 命令

YunSoul發表於2018-08-24

一、ADB命令(電腦上操作的命令)

ADB常用命令:

1. 檢視裝置: 檢視當前連線的裝置,
adb  devices
複製程式碼
2. 安裝軟體:將指定的apk檔案安裝到裝置上

  

adb  install <apk檔案路徑>
如: adb install com.sina.weibo	
複製程式碼
  • 引數“-r”,它是更新安裝的意思,
  • 引數 -s ,安裝到sdcard.
3. 解除安裝軟體

  

adb  uninstall <包名>
如: adb uninstall com.sina.weibo	
複製程式碼

如果加 -k 引數,為解除安裝軟體但是保留配置和快取檔案.

4. 登入裝置shell

  

adb  shell 
adb shell <command命令>
如:	adb  shell cat /proc/kmsg 
複製程式碼

登入裝置的shell,後面加<command命令>將是直接執行裝置命令, 相當於執行遠端命令

5. 從電腦上傳送檔案到裝置 :可以把本機電腦上的檔案或者資料夾複製到裝置(手機)

  

adb push <本地路徑> <遠端路徑>
如: adb push /local/build.prop  /system/build.prop
複製程式碼
6. 從裝置上下載檔案到電腦:可以把裝置(手機)上的檔案或者資料夾複製到本機電腦

  

adb  pull <遠端路徑> <本地路徑>
如: adb  /system/build.prop  /local/
複製程式碼
7. 同步更新
adb sync [ <directory> ]
如: adb sync /data/
複製程式碼

如果不指定目錄,將同時更新 /data 和 /system/

8. 顯示幫助資訊

  

adb  help
複製程式碼
9. 重新掛載
adb  remount
複製程式碼

重新掛載系統 分割槽 用於讀寫

10. 啟動和關閉server
adb start-server             - ensure that there is a server running
adb kill-server              - kill the server if it is running
複製程式碼
11. 重啟裝置
adb reboot [bootloader|recovery]      - reboots the device, optionally into the bootloader or recovery program
複製程式碼
12. 檢視Log
[adb] logcat [<option>] ... [<filter-spec>] ..
複製程式碼
  • -b 載入一個可使用的日誌緩衝區供檢視,比如event 和radio . 預設值是main 。具體檢視Viewing Alternative Log Buffers.
  • -c 清楚螢幕上的日誌.
  • -d 輸出日誌到螢幕上.
  • -f 指定輸出日誌資訊的 ,預設是stdout .
  • -g 輸出指定的日誌緩衝區,輸出後退出.
  • -n 設定日誌的最大數目 .,預設值是4,需要和 -r 選項一起使用。
  • -r 每 時輸出日誌,預設值為16,需要和-f 選項一起使用.
  • -s 設定預設的過濾級別為silent.
  • -v 設定日誌輸入格式,預設的是brief 格式
where <tag> is a log component tag (or * for all) and priority is:
  V    Verbose
  D    Debug
  I    Info
  W    Warn
  E    Error
  F    Fatal
  S    Silent (supress all output)

'*' means '*:d' and <tag> by itself means <tag>:v
複製程式碼
13、檢視bug報告:
adb bugreport
複製程式碼

二、adb shell命令(手機裝置上操作的命令)

常用adb shell命令:

1. 按鍵事件
input text <string>   input a string to device
input keyevent <event_code>   send a Key Event to device
如: adb shell input keyevent 26      (PowerKey)
複製程式碼
2. am命令
命令 作用 例子
am start [options] 啟動Activity am start -n com.eg.android.AlipayGphone/com.alipay.mobile.payee.ui.PayeeQRSetMoneyActivity
am startservice 啟動Service am startservice com.miui.powerkeeper
am stopservice 停止Service
am broadcast 傳送廣播
am kill kill指定程式
am force-stop 強制停止某程式
am hang 系統hang住
am restart 重啟手機
am dumpheap 將程式pid的堆資訊輸出到file
am start [options] 的options引數
  • (1)am啟動activity:
adb shell am start -n com.android.settings/com.android.settings.Settings
adb shell am start - com.android.settings/com.android.settings.Settings
複製程式碼
  • (2)-a :am start -a -d
am start -a android.intent.action.DIAL -d tel:10010 //編輯電話(在撥號盤介面按下電話號碼,但是不撥打)
am start -a android.intent.action.VIEW -d http://www.baidu.com  //開啟某個網址
am start -a android.intent.action.MUSIC_PLAYER  //開啟音樂播放器
複製程式碼
  • (3)-d <DATA_URI>:啟動時,要傳入的URI
am start -d content://contacts/people/1
複製程式碼
  • (4)-n :直接啟動一個元件
adb shell am start -n com.android.settings/com.android.settings.Settings
複製程式碼
  • (5)-t <MIME_TYPE>: 指定Intent MIME Type
am start -t image/png
複製程式碼
  • (6)-c [-c ] ...]:指定Intent category
am start -c android.intent.category.APP_CONTACTS
複製程式碼
3. pm 命令
命令 作用
pm list packages 列舉app包資訊
pm install [options] 安裝應用
pm uninstall [options] 解除安裝應用
pm hide 隱藏應用
pm unhide 顯示應用
pm get-install-location 獲取安裝位置
pm clear 清空App資料
pm force-dex-opt dex優化
pm dump dump資訊
pm install [options] 的options引數
  • -r: 覆蓋安裝已存在Apk,並保持原有資料;
  • -d: 執行安裝低版本Apk;
  • -t: 執行安裝測試Apk
  • -i <installer_package_name style="box-sizing: border-box;">: 指定Apk的安裝器;</installer_package_name>
  • -s: 安裝apk到共享快儲存,比如sdcard;
  • -f: 安裝apk到內部系統記憶體;
  • -l: 安裝過程,持有轉發鎖
  • -g: 准許Apk manifest中的所有許可權;
4. dumpsys命令
dumpsys activit
dumpsys activity intents
dumpsys activity broadcasts
dumpsys activity providers
dumpsys activity services
dumpsys activity activities
dumpsys activity processes
複製程式碼
獲取當前activity資訊

adb shell dumpsys activity top 
複製程式碼
dumpsys window
dumpsys window windows
dumpsys window tokens
dumpsys window sessions
dumpsys window policy
dumpsys window input
複製程式碼
獲取當前activity名稱

如:adb shell dumpsys window windows | findstr Current 
複製程式碼

#### YunSoul技術分享,掃碼關注微信公眾號##
    ——只要你學會了之前所不會的東西,只要今天的你強過了昨天的你,那你就一直是在進階的路上了。 常用adb 和 adb shell 命令

相關文章