本文彙總了開發中經常使用的adb命令,熟悉這些命令在某些場景會極大的提升開發效率,絕對的乾貨。文中全部參數以$開頭,實際使用時替換爲真正參數便可。android
###1、啓動/關閉類shell
隱式action方式:性能優化
adb shell am start -a ${your_action_name}
複製代碼
顯示activity方式:bash
adb shell am start -n ${your_package_name}/${your_activity_name}
複製代碼
顯式(-n)與隱式(-a)的指令也適用於服務和廣播。app
若是要添加啓動參數則在以上命令後面繼續添加以下配置:佈局
--es ${paramterkey} ${value}
--ei ${paramterkey} ${value}
--ez ${paramter_key} ${value}
多個參數以空格分隔,其餘參數類型可自行google查閱,此方式也適用於service和廣播,舉個栗子adb shell am start -a com.xxxx.business.action --es name 'zhangsan' --ei age 18
複製代碼
adb shell am broadcast -a ${broad_action_name}
複製代碼
adb shell am startservice -n ${your_package_name}/${your_service_name}
//中止服務
adb shell am stopservice -n ${your_package_name}/${your_service_name}
複製代碼
adb shell am start -a android.intent.action.VIEW -d ${your_apk_file_absolute_path} -t application/vnd.android.package-archive
好比路徑是sdcard 則參數可爲 file:///sdcard/test.apk
複製代碼
adb shell am force-stop ${your_package_name}
複製代碼
###2、調試類性能
//打開
adb shell setprop debug.layout true
//關閉
adb shell setprop debug.layout false
複製代碼
//調整屏幕分辨率
adb shell wm size 1920x1080
//調整density
adb shell wm density 240
複製代碼
#!/bin/sh
#截圖
ls_date=`date +%Y%m%d%H%M%S`
//截圖
adb shell /system/bin/screencap -p /sdcard/screenshot_${ls_date}.png
#從SD卡導出到本機當前目錄
adb pull /sdcard/screenshot_${ls_date}.png .
複製代碼
//線程、進程名稱在涉及到多應用間調試是很關鍵的信息
adb logcat -v threadtime > log_xxxx.txt
複製代碼
加上|grep可支持模糊查詢
adb shell dumpsys activity services |grep ${your_service_name}
複製代碼
adb shell dumpsys activity activities
複製代碼
由此命令再加上一個參數可直接打印頂層activity名稱測試
adb shell dumpsys activity | grep mFocusedActivity
複製代碼
adb shell dumpsys window -w
複製代碼
由此命令再加上一個參數可直接打印頂層activity名稱優化
adb shell dumpsys activity | grep mFocusedActivity
複製代碼
adb shell pm clear ${your_package_name}
複製代碼
aapt dump badging ${your_apk_file_path}
複製代碼
若是已經安裝ui
adb shell dumpsys package ${your_package_name}
複製代碼
aapt dump xmltree ${your_apk_file_path} AndroidManifest.xml
複製代碼
adb shell am force-stop ${your_package_name}
複製代碼
adb shell getprop
複製代碼
adb shell setprop debug.hwui.profile visual_bars (柱形圖)
adb shell setprop debug.hwui.profile visual_lines (折線圖)
複製代碼
//執行完後須要殺死進程重啓
adb shell setprop debug.hwui.overdraw show
//關閉過分繪製 從新打開界面生效
adb shell setprop debug.hwui.overdraw false
複製代碼
adb shell procrank|grep ${your_package_name}
adb shell dumpsys meminfo ${your_package_name}(更詳細一些)
複製代碼
adb shell am start -W ${your_package_name}/${your_activity_name}
複製代碼