Android ADB開發(fā)常用命令總結(jié)
adb在開發(fā)中調(diào)試是很常用的命令,下面就來說說常用的adb命令。
簡化adb 連接命令
如果指定ip 連接,一般為 adb conenct 172.18.xxx.xxx ,這樣每次進行連接時,發(fā)現(xiàn)都有重復(fù)的的命令需要敲,程序員就是要減少重復(fù)工作,所以現(xiàn)在就將重復(fù)的命令省掉。(以下為mac下的配置的方法):
- 新建.alias_bash 文件
- 文件中使用 alias 別名關(guān)鍵字重新命令
- 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 然后重新執(zhí)行 source ./.bash_profile ,或者直接關(guān)掉終端,重新打開一個。
- 嘗試使用 ac 172.18.**.** ,則可直接連接上機器,在輸入 ad 即可看到adb連接到的設(shè)備。
上面只是個例子,可以在文件 .alias_bash 文件中添加其他的簡化命令。
adb 多設(shè)備指定連接
在使用adb連接多個設(shè)備,當想連接到某一個設(shè)備的shell時 adb -s 172.18.xx.xx:5555 shell 。
如果是其他命令一樣可以指定設(shè)備執(zhí)行。例如:
- adb -s 172.18.xx.xx:5555 install *.apk
adb 文件處理
復(fù)制電腦里的文件到設(shè)備
命令:
- adb push <電腦上的文件路徑> <設(shè)備里的目錄>
例:
- adb push ~/sr.mp4 /sdcard/
復(fù)制設(shè)備里的文件到電腦
命令:
- adb pull <設(shè)備里的文件路徑> [電腦上的目錄]
其中 電腦上的目錄 參數(shù)可以省略,默認復(fù)制到當前目錄。
例:
- adb pull /sdcard/sr.mp4 ~/tmp/
adb 安裝卸載應(yīng)用
adb 安裝應(yīng)用
命令格式:
- adb install [-lrtsdg]
參數(shù):
adb install 后面可以跟一些可選參數(shù)來控制安裝 APK 的行為,可用參數(shù)及含義如下:
運行命令后如果見到類似如下輸出(狀態(tài)為 Success)代表安裝成功:
- [100%] /data/local/tmp/1.apk
- pkg: /data/local/tmp/1.apk
- Success
adb 卸載應(yīng)用
命令:
- adb uninstall [-k]
表示應(yīng)用的包名,-k參數(shù)可選,表示卸載應(yīng)用但保留數(shù)據(jù)和緩存目錄。
命令示例:
- adb uninstall com.aaron.test
adb 啟動應(yīng)用
啟動activity
命令格式:
- adb shell am start [options]
例如:
- adb shell am start -n com.aaron.test/.LauncherActivity
如果想要對啟動的Intent添加參數(shù)可以按照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
表示調(diào)起音樂服務(wù)Service。
發(fā)送廣播
命令格式:
- adb shell am broadcast [options]
可以向所有組件廣播,也可以只向指定組件廣播。
例如,向所有組件廣播 BOOT_COMPLETED:
- adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
向指定的接收器發(fā)送廣播,例子:
- adb shell am broadcast -a com.aaron.action.SHOW_TIME -n com.aaron.test/.PlaySerices
如果帶參數(shù)的廣播則在后面加上參數(shù)的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 清除應(yīng)用緩存等
命令:
- adb shell pm clear
表示應(yīng)用名包,這條命令的效果相當于在設(shè)置里的應(yīng)用信息界面點擊了「清除緩存」和「清除數(shù)據(jù)」。
命令示例:
- adb shell pm clear com.aaron.test
adb 模擬事件
命令:
- adb shell input keyevent
例子:
- adb shell input keyevent 26 //模擬電源鍵
adb 查看日志
命令格式:
- [adb] logcat [] ... [] ...
例子:
- adb logcat *:W
Android 的日志分為如下幾個優(yōu)先級(priority):
- V —— Verbose(最低,輸出得最多)
- D —— Debug
- I —— Info
- W —— Warning
- E —— Error
- F —— Fatal
- S —— Silent(最高,啥也不輸出)
過濾指定TAG
- adb logcat -s
其他常用命令
查看應(yīng)用列表信息
查看應(yīng)用列表的基本命令格式是
- adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
即在 adb shell pm list packages 的基礎(chǔ)上可以加一些參數(shù)進行過濾查看不同的列表,支持的過濾參數(shù)如下:
例如:
第三方應(yīng)用
- pm list packages -s
包名包含某字符串的應(yīng)用
- adb shell pm list packages -3
查看包名包含字符串a(chǎn)aron的命令
- adb shell pm list packages aaron
查看前臺 Activity
命令:
- adb shell dumpsys activity activities | grep mFocusedActivity
查看正在運行的Services
命令:
- adb shell dumpsys activity services []
參數(shù)不是必須的,指定 表示查看與某個包名相關(guān)的 Services,不指定表示查看所有 Services。
CPU信息
命令:
- adb shell cat /proc/cpuinfo
內(nèi)存信息
內(nèi)存信息
命令:
- adb shell cat /proc/meminfo
其中,MemTotal 就是設(shè)備的總內(nèi)存,MemFree 是當前空閑內(nèi)存。
查看占用cpu占用排行
命令:
- adb shell busybox top
總結(jié):
adb 的使用還有很多的命令,這里不一一列舉了。更多的可以查看adb 命令的幫助信息。