adb指令碼選擇語句 常用adb命令彙總 絕對乾貨

2021-10-17 05:36:24 字數 2924 閱讀 6454

本文彙總了開發中常用的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...