本文彙總了開發中常用的adb命令,熟悉這些命令在某些場景會極大的提高開發效率,絕對的乾貨。文中所有引數以$開頭,實際使用時替換為真正引數即可。
一、啟動/關閉類
啟動activity
隱式action方式:
adb shell am start -a $
顯示activity方式:
adb shell am start -n $/$
顯式(-n)與隱式(-a)的指令也適用於服務和廣播。
新增啟動引數
如果要新增啟動引數則在以上命令後面繼續新增如下配置:
string 型別: --es $ $
int 型別: --ei $ $
boolean型別: --ez $ $
多個引數以空格分隔,其他引數型別可自行google查閱,此方式也適用於service和廣播,舉個栗子
adb shell am start -a com.***x.business.action --es name 'zhangsan' --ei age 18
傳送廣播
adb shell am broadcast -a $
啟動服務
adb shell am startservice -n $/$
//停止服務
adb shell am stopservice -n $/$
啟動安裝應用對話方塊
比如路徑是sdcard 則引數可為 file:///sdcard/test.apk
強制退出程序
adb shell am force-stop $
二、除錯類
開啟/關閉布局邊界,簡直是調整ui問題的神器啊有木有
//開啟
adb shell setprop debug.layout true
//關閉
adb shell setprop debug.layout false
切換window大小和density
做適配的時候太常用了,根本不用拿著那麼多機器除錯,但是前提是只能調低而不能調高,因此選擇一款解析度最高的機器測試就好了。
//調整螢幕解析度
adb shell wm size 1920x1080
//調整density
adb shell wm density 240
截圖你是不是覺得as裡的乙個按鈕已經很好用了,我還是覺得太麻煩,而且最新的as3.0已經不支援4.4及以前的機型了。所以乾脆來個指令碼吧,相當給力。
#!/bin/sh
#截圖ls_date=`date +%y%m%d%h%m%s`
//截圖
adb shell /system/bin/screencap -p /sdcard/screenshot_$.png
#從sd卡匯出到本機當前目錄
adb pull /sdcard/screenshot_$.png .
抓log
這就屬於常規操作了,基本上都會吧,我常用的配置如下
//執行緒、程序名稱在涉及到多應用間除錯是很關鍵的資訊
adb logcat -v threadtime > log_***x.txt
檢查服務存活性
不用說,一行命令列印service是否存活對除錯而言簡直不能更方便
加上|grep可支援模糊查詢
adb shell dumpsys activity services |grep $
列印activity stack情況
有了這個命令,你還擔心透明的activity嘛,列印出的資訊已經涵蓋了所有stack 及其task及其中activity的所有狀態資訊。另外dumpsys 指令相當強大,還能列印cpu、battery等硬體的資訊。
adb shell dumpsys activity activities
由此命令再加上乙個引數可直接列印頂層activity名稱
adb shell dumpsys activity | grep mfocusedactivity
列印window情況
同activity類似
adb shell dumpsys window -w
由此命令再加上乙個引數可直接列印頂層activity名稱
adb shell dumpsys activity | grep mfocusedactivity
清除全部應用資料
adb shell pm clear $
列印apk包資訊
如果apk未安裝
aapt dump badging $
如果已經安裝
adb shell dumpsys package $
列印manifest內容
aapt dump xmltree $ androidmanifest.xml
殺死執行包名的程序
adb shell am force-stop $
列印設定所有屬性資訊,這些資訊在system/build.prop檔案中
adb shell getprop
三、效能優化
gpu呈現模式,幀率的重要指標
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 $
adb shell dumpsys meminfo $(更詳細一些)
activty啟動時間
adb shell am start -w $/$
常用ADB命令
1 列出當前連線的所有裝置 adb devices 2 安裝apk adb s emulator 5556 install helloworld.apk如果有多個裝置時,用 s 裝置序號 來指定裝置 adb install r helloworld.apk r 表示強制安裝 3 解除安裝apk ad...
ADB常用指令
開發中時常要用到adb命令,個人感覺用命令要比視覺化操作方便很多,尤其是針對記憶體不是很充裕的情況 一些視覺化操作軟體很耗記憶體,特別卡 一般安裝好sdk後,在sdk資料夾下的platform tools中就可以找到 為了方便使用,不需要每次都通過cmd開啟adb.exe而是直接在cmd中使用adb...
常用adb指令
常用adb指令 adb shell 進入shell exit 退出shell su cd system sd data 進入系統內指定資料夾 ls 列表顯示當前資料夾內容 rm r 刪除名字為 的資料夾及其裡面的所有檔案 rm 刪除檔案 rmdir 刪除 的資料夾 adb shell環境下mkdir...