adb | ||||
命令 | 命令參數 | 描述 | 範例 | |
-d | 只運行在實體機 | adb -d | ||
-e | 只運行在模擬器 | adb -e | ||
-s | 指定運行的設備 | adb -s Serial number | ||
help | 幫助文件 | adb help | ||
version | adb版本 | adb version | ||
devices | 列出所有已經連接的設備 | adb devices | ||
push | 從本機端複製檔案到手機端 | adb push test.apk /mnt/sdcard/ | ||
pull | 從手機端複製檔案到本機端 | adb pull /mnt/sdcard/ test.apk | ||
install | -r | 安裝apk -r: 強制取代 |
adb install -r test.apk | |
uninstall | -k | 解除安裝apk -k: 保留data和cache |
adb uninstall | |
wait-for-device | 等待設備連接 (設備未連接之前使用) | adb wait-for-device | ||
start-server | 開啟adb服務 | adb start-server | ||
kill-server | 關閉adb服務 | adb kill-server | ||
bugreport | 抓取bug report | adb bug repoort | ||
remount | 重新掛載系統磁碟分割 使其可改寫(需要root) | adb remount | ||
reboot | bootloader recovery |
重新開機 bootloader: 重新開機到bootloader模式 recovery: 重新開機到recovery模式 |
adb reboot bootloader | |
root | 取得root權限 | adb root | ||
tcpip | 設定網路無線端口 (未指定則為5555) | adb tcpip 1234 | ||
connect | 連接指定網路IP+端口 | adb connect 192.168.11.44:1234 | ||
disconnect | 斷開連接 | adb disconnect | ||
adb shell | ||||
命令 | 命令參數 | 描述 | 範例 | |
cd | 進入目錄 | adb shell cd data | ||
cat | 查看檔案內容 | adb shell cat 1.txt | ||
df | 列出分區列表 | adb shell df | ||
ls | -a -l |
列出目錄內容 -a: 列出所有檔,包括隱藏檔 -l: 列出檔的詳細資訊 |
adb shell ls -al | |
grep | 篩選搜索特定的內容 | adb shell ps | grep google | ||
mkdir | -p | 創建目錄 -p: 遞迴創建目錄 |
adb shell mkdir -p /test/stest | |
touch | 創建檔案 | adb shell touch 1.txt | ||
rm | -r | 刪除檔 -r: 強制刪除資料夾包括裡面的檔 |
adb shell rm 1.txt | |
mv | -f -i |
移動文件(剪下) -f: 強制取代 -i: 若存在同名檔案 提示詢問 |
adb shell mv 1.txt testDir | |
rmdir | -p | 刪除目錄 -p: 遞迴刪除目錄 只能刪除空目錄 |
adb shell rm testDir | |
dd | if=source of=target | 複製檔案 來源/目的 (複製) | adb shell dd if=x.txt of=tdir/y.txt | |
chmod | 檔案權限修改 ( /data/local/tmp/ 可修改) | adb shell chmod 777 text.txt | ||
chmown | 檔案群組修改 | adb shell chown root text.txt | ||
dumpstate | 系統狀態資訊 (需要root) adb bugreport包含這個資訊 |
adb shell dumpstate | ||
dumpsys | 取得系統各項服務資訊 | adb shell dumpsys | ||
ps | 查看程序資訊 | adb shell ps | ||
getprop | 取得系統各項屬性資訊 | adb shell getprop | ||
setprop | 設定系統各向屬性 (需要root) | adb shell setprop | ||
top | -m -n -d |
取得CPU使用情況 -m: 最大顯示條數 -n: 更新次數 -d: 更新時間 (每秒) |
adb shell top -m 10 -d 5 | |
wm | size density |
獲取螢幕解析度 | adb shell wm size | |
bmgr | backup restore run |
備份/復原 檔案 | adb shell bmgr backup
packageName adb shell bmgr run |
|
kill | 結束進程 | adb shell kill 123 [PID] | ||
svc | power data wifi usb nfc |
控制電源 控制資料 控制WiFi 控制USB 控制NFC |
adb shell svc nfc enable | |
iftop | 顯示網路傳輸資訊 | adb shell iftop | ||
netstat | 顯示網路相關資訊 | adb shell netstat | ||
ping | 顯示配對網址的情況 | adb shell ping www.yahoo.com | ||
screenrecord | --size --bugreport --time-limit --verbose |
螢幕錄影 (Android4.4以上) --size: 指定影片解析度 --bugreport: 增加錄影時的相關資訊 --time-limit: 指定錄影時間 --verbose: 顯示相關資訊在cmd |
adb shell screenrecord /storage/emulated/0/Movies/test.mp4 | |
screencap | 螢幕截圖 | adb shell screencap /storage/emulated/0/Pictures/test.png | ||
getevent / sendevent | 取得/發送硬體鍵的鍵值 | adb shell 後再輸入 getevent | ||
input | text keyevent tap swipe |
輸入 text: 文字 keyevent: 觸發鍵的值 tap: 畫面座標 (x,y) swipe: 滑動畫面 (x,y,a,b) |
adb shell input text
1234567890 adb shell input keyevent KEYCODE_HOME |
|
dmesg | Kernal Log | adb shell dmesg | ||
adb shell pm | ||||
命令 | 命令參數 | 描述 | 範例 | |
list package | -f -d -e -s -3 |
-f: 顯示位置 -d: 只顯示禁用的 -e: 只顯示可用的 -s: 只顯示系統的 -3: 只顯示第三方的 |
adb shell pm list packages google | |
list permission-groups | 顯示權限群組 | adb shell pm list permission-groups | ||
list permissions | -g -f -s -d -u |
-g: 依照群組分類 -f: 顯示詳細資訊 -s: 顯示精簡資訊 -d: 顯示危險的群組 -u: 顯示危險和一般的群組 |
adb shell pm list permissions -g -u | |
reset-permissions | 重置所有App的權限 | adb shell pm reset-permissions | ||
grant | 允許權限 (Android 6.0以上) | adb shell pm grant com.android.contacts android.permission.READ_EXTERNAL_STORAGE | ||
revoke | 拒絕權限 (Android 6.0以上) | adb shell pm revoke com.android.contacts android.permission.READ_EXTERNAL_STORAGE | ||
list instrumentation | -f | 顯示所有的instrumentation測試包 -f: 顯示位置 |
adb shell pm list instrumentation | |
path | 顯示指定的包名的位置 | adb shell pm path com.xxx.xxx | ||
list features | 顯示硬體/軟體的功能列表 | adb shell pm list features | ||
list libraries | 顯示庫的列表 | adb shell pm list libraries | ||
dump | 顯示指定包名的系統狀態資訊 | adb shell pm dump com.android.phone | ||
install | -r | 從手機內部安裝 -r: 強制取代 |
adb shell pm install /data/local/tmp/test.apk | |
uninstall | -k | 從手機內部解除安裝 -k: 保留data和cache |
adb shell pm uninstall /data/local/tmp/test.apk | |
clear | 清除指定包名的data和cache | adb shell pm clear com.android.phone | ||
enable | 啟用系統App | adb shell enable com.android.phone | ||
disable | 停用系統App (隱藏在App List) | adb shell disable com.android.phone | ||
disable-user | 停用系統App (顯示在App List) | adb shell disable-user com.android.phone | ||
hide | 隱藏 | adb shell hide com.android.phone | ||
unhide | 取消隱藏 | adb shell unhide com.android.phone | ||
get-install-location | 0: 安裝路徑 自動選擇 1: 安裝路徑 設定在內部 (手機) 2: 安裝路徑 設定在外部 (SD card) |
adb shell pm get-install-location | ||
set-install-location | 0: 安裝路徑 自動選擇 1: 安裝路徑 設定在內部 (手機) 2: 安裝路徑 設定在外部 (SD card) |
adb shell pm set-install-location 2 | ||
adb shell am | ||||
命令 | 命令參數 | 描述 | 範例 | |
start | -n -a -d -c -e -t -f -p -W -S |
-n: component (Package
name/Class name) -a: action (Intent) -d: data_url -c: category -e: extra (Bundle) -t: mime_type -f: flags -p: package -W: 等待啟動完成 -S: 停止指定的Activity 再一次開啟指定的Activity |
adb shell am start -n
com.android.settings/.Settings adb shell am start -W -n com.android.settings/.Settings |
|
startservice | 啟動服務 | adb shell am startservice serviceName | ||
stopservice | 關閉服務 | adb shell am stopservice serviceName | ||
broadcast | 啟動廣播 | adb shell am broadcast broadcastName | ||
force-stop | 強制停止 | adb shell am force-stop com.android.settings/.Settings | ||
hang | 強制卡住系統 | adb shell am hang | ||
monitor | 監視系統 | adb shell am monitor | ||
instrument | -r -e -w |
-r: 顯示詳細資訊 -e: 傳送自訂參數 (Name/Value) -w: 等待結束 |
adb shell am instrument -w -r -e class com.ex.tescase#function com.ex.tescase.test/android.support.test.runner.AndroidJUnitRunner | |
adb logcat | ||||
命令 | 命令參數 | 描述 | 範例 | |
-b | main radio system event |
查看日誌緩衝區 (預設main) | adb logcat -b system | |
-c | 清除緩衝區所有的日誌 | adb logcat -c | ||
-d | 顯示日誌 (非持續進行) | adb logcat -d | ||
-g | 顯示日誌緩衝區的大小 | adb logcat -g | ||
-f | 將日誌輸出到指定的檔案 | adb logcat -f log.txt | ||
-n | 設置日誌的最大數目 (預設4) (搭配-r) | adb logcat -n 10 | ||
-r | 設定輸出日誌大小 (KB) (預設16) (搭配-f) | adb logcat -r 10 | ||
-v | brief process tag raw time threadtime long |
設置日誌的輸出格式 | adb logcat -v threadtime | |
Log 級別 | ||||
V: Verbose(由低到高) D: Debug I: Info W: Warning E: Error F: Fatal S: Silent |
adb logcat ActivityManager:I
*:S (只顯示 I 級的日誌 且標籤為ActivityManager) adb logcat *:W (只顯示 W 級以上的日誌) |
|||
adb shell dumpsys | ||||
命令 | 命令參數 | 描述 | 範例 | |
-l | 查看各類服務 | adb shell dumpsys package -l | ||
package | prov p s m version f r perm pref |
prov: Provider p: Package s: Shared User m: Message version: Database version f: Features r: Intent filter perm: Permission pref: Preferred |
adb shell dumpsys package p | |
activity | a r b p I p prov s package all top |
a: Activity r: Recent activity b: Broadcasts p: Pending intent i: Intents p: Process prov: Providers s: Service package: Package all: All activities top: Top activity |
adb shell dumpsys activity
s adb shell dumpsys activity | find "mF" |
|
meminfo cpuinfo gfxinfo display power batterystats battery alarm location |
meminfo: 內存 cpuinfo: CPU gfxinfo: 幀率 display: 顯示 power: 電源 batterystats: 電池狀態 battery: 電池 alarm: 鬧鐘 location: 位置 |
adb shell dumpsys battery |