本文講的是<b>Android ADB開發常用指令總結,</b>如果指定ip 連接配接,一般為 adb conenct 172.18.xxx.xxx ,這樣每次進行連接配接時,發現都有重複的的指令需要敲,程式員就是要減少重複工作,是以現在就将重複的指令省掉。(以下為mac下的配置的方法):

建立.alias_bash 檔案
檔案中使用 alias 别名關鍵字重新指令
alias ac="adb connect $1"
alias ad="adb devices"
alias ak="adb kill-server"
alias as="adb start-server"
修改根目錄下的 .bash_profile , 或者其他以 .bash 的檔案中,将最後加上 source ./.alias_bash 然後重新執行 source ./.bash_profile ,或者直接關掉終端,重新打開一個。
嘗試使用 ac 172.18.**.** ,則可直接連接配接上機器,在輸入 ad 即可看到adb連接配接到的裝置。
上面隻是個例子,可以在檔案 .alias_bash 檔案中添加其他的簡化指令。
adb 多裝置指定連接配接
在使用adb連接配接多個裝置,當想連接配接到某一個裝置的shell時 adb -s 172.18.xx.xx:5555 shell 。
如果是其他指令一樣可以指定裝置執行。例如:
adb -s 172.18.xx.xx:5555 install *.apk
adb 檔案處理
複制電腦裡的檔案到裝置
指令:
adb push <電腦上的檔案路徑> <裝置裡的目錄>
例:
adb push ~/sr.mp4 /sdcard/
複制裝置裡的檔案到電腦
adb pull <裝置裡的檔案路徑> [電腦上的目錄]
其中 電腦上的目錄 參數可以省略,預設複制到目前目錄。
adb pull /sdcard/sr.mp4 ~/tmp/
adb 安裝解除安裝應用
adb 安裝應用
指令格式:
adb install [-lrtsdg]
參數:
adb install 後面可以跟一些可選參數來控制安裝 APK 的行為,可用參數及含義如下:
運作指令後如果見到類似如下輸出(狀态為 Success)代表安裝成功:
[100%] /data/local/tmp/1.apk
pkg: /data/local/tmp/1.apk
Success
adb 解除安裝應用
adb uninstall [-k]
表示應用的包名,-k參數可選,表示解除安裝應用但保留資料和緩存目錄。
指令示例:
adb uninstall com.aaron.test
adb 啟動應用
啟動activity
adb shell am start [options]
例如:
adb shell am start -n com.aaron.test/.LauncherActivity
如果想要對啟動的Intent添加參數可以按照key-value形式添加。
adb shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "url" "wxtlife.com"
啟動servies
adb shell am startservice [options]
adb shell am startservice -n com.aaron.test/.MusicService
表示調起音樂服務Service。
發送廣播
adb shell am broadcast [options]
可以向所有元件廣播,也可以隻向指定元件廣播。
例如,向所有元件廣播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
向指定的接收器發送廣播,例子:
adb shell am broadcast -a com.aaron.action.SHOW_TIME -n com.aaron.test/.PlaySerices
如果帶參數的廣播則在後面加上參數的key, value 。 例如:
adb shell am broadcast -a com.aaron.action.SHOW_TIME -es "url" "wxtlife.com"
adb 殺程序
adb shell am force-stop
adb shell am force-stop com.aaron.test
adb 清除應用緩存等
adb shell pm clear
表示應用名包,這條指令的效果相當于在設定裡的應用資訊界面點選了「清除緩存」和「清除資料」。
adb shell pm clear com.aaron.test
adb 模拟事件
指令:
adb shell input keyevent
例子:
adb shell input keyevent 26 //模拟電源鍵
adb 檢視日志
[adb] logcat [] ... [] ...
adb logcat *:W
Android 的日志分為如下幾個優先級(priority):
V —— Verbose(最低,輸出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不輸出)
過濾指定TAG
adb logcat -s
其他常用指令
檢視應用清單資訊
檢視應用清單的基本指令格式是
adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
即在 adb shell pm list packages 的基礎上可以加一些參數進行過濾檢視不同的清單,支援的過濾參數如下:
第三方應用
pm list packages -s
包名包含某字元串的應用
adb shell pm list packages -3
檢視包名包含字元串aaron的指令
adb shell pm list packages aaron
檢視前台 Activity
adb shell dumpsys activity activities | grep mFocusedActivity
檢視正在運作的Services
adb shell dumpsys activity services []
參數不是必須的,指定 表示檢視與某個包名相關的 Services,不指定表示檢視所有 Services。
CPU資訊
adb shell cat /proc/cpuinfo
記憶體資訊
adb shell cat /proc/meminfo
其中,MemTotal 就是裝置的總記憶體,MemFree 是目前空閑記憶體。
檢視占用cpu占用排行
adb shell busybox top
總結:
adb 的使用還有很多的指令,這裡不一一列舉了。更多的可以檢視adb 指令的幫助資訊。
本文作者:佚名
來源:51CTO
原文标題:Android ADB開發常用指令總結