Android命令行使用
一、常用命令格式
adb 命令的基本語法如下:
adb [-d|-e|-s <serialNumber>] <command>
如果只有一個設備/模擬器連接時,可以省略掉 [-d|-e|-s <serialNumber>]
這一部分,直接使用 adb <command>
。
為命令指定目標設備
如果有多個設備/模擬器連接,則需要為命令指定目標設備。
參數(shù) | 含義 |
---|---|
-d | 指定當前唯一通過 USB 連接的 Android 設備為命令目標 |
-e | 指定當前唯一運行的模擬器為命令目標 |
-s <serialNumber> |
指定相應 serialNumber 號的設備/模擬器為命令目標 |
在多個設備/模擬器連接的情況下較常用的是 -s <serialNumber>
參數(shù),serialNumber 可以通過 adb devices
命令獲取。如:
$ adb devices
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device
輸出里的 cf264b8f
、emulator-5554
和 10.129.164.6:5555
即為 serialNumber。
比如這時想指定 cf264b8f
這個設備來運行 adb 命令獲取屏幕分辨率:
adb -s cf264b8f shell wm size
又如想給 10.129.164.6:5555
這個設備安裝應用(這種形式的 serialNumber 格式為 <IP>:<Port>
,一般為無線連接的設備或 Genymotion 等第三方 Android 模擬器):
adb -s 10.129.164.6:5555 install test.apk
遇到多設備/模擬器的情況均使用這幾個參數(shù)為命令指定目標設備
二、adb命令
查看連接設備
$ adb devices安裝軟件
$adb install <路徑>
如果需要強制安裝(應用已存在,強制安裝新應用)
$adb install -r <路徑>卸載軟件
$adb uninstall <軟件包名>查看設備日志
$adb logcat
清除設備日志
$adb logcat -c
將設備日志輸出到本地文件
$adb logcat -v time > <文件路徑>查看屏幕分辨率
$adb shell wm size查看屏幕密度
$adb shell wm density推送文件到設備
$adb push <本地文件路徑> <設備文件路徑>推送設備文件到本地
$adb pull <設備文件路徑,如:/data/anr> <本地路徑,如:D:,若不寫則到當前路徑>遠程連接設備
$adb connect <IP地址>獲取序列號
$adb get-serialno重啟設備
$adb reboot重啟設備進入bootloader,即刷機模式
$adb reboot bootloader重啟設備進入recovery,即恢復模式
$adb reboot recovery查看設備CPU和內存占用情況
$adb shell top查看進程列表
$adb shell ps殺死一個進程
$adb shell kill <pid進程號>system分區(qū)重新掛載為可讀寫分區(qū)
$adb remount清除應用數(shù)據(jù)與緩存
$adb shell pm clear <packagename>模擬鍵值輸入
$adb shell input keyevent <鍵值ID>
keycode | 含義 |
---|---|
3 | HOME 鍵 |
4 | 返回鍵 |
24 | 增加音量 |
25 | 降低音量 |
模擬滑動
$adb shell input swipe <起始X> <起始Y> <結束X> <結束Y>模擬輸入
$adb shell input text <輸入文字>內核日志
$adb shell dmesg
三、Android Shell命令
am命令
1.1 啟動應用/ 調起 Activity
$adb shell am start -n <包名>/<類名>
1.2 調起 Service
$adb shell am startservice -n <包名>/<類名>
1.3 發(fā)送廣播
$adb shell am broadcast -a <action>dumpsys命令
2.1 查看前臺 Activity
$adb shell dumpsys activity activities | grep mFocusedActivity
2.2 查看正在運行的 Services
$adb shell dumpsys activity services [<packagename部分或全部名稱>]
2.3 查看應用詳細信息
$adb shell dumpsys package <packagename>
pm命令
3.1 列出設備上面的應用
$adb shell pm list package
可以帶參數(shù) -s(系統(tǒng)應用),-3(第三方應用),-f(列出包名及位置),-i(列出包名及來源)
3.2 清除應用數(shù)據(jù)與緩存
$adb shell pm clear <packagename>截圖錄屏命令
$adb shell screencap -p <SD路徑>
$adb shell screenrecord <SD路徑>
$adb exec-out screencap -p > <本地文件路徑>獲取當前界面控件信息
$adb shell uiautomator dump查看文件夾大小
$df -sh查看所有文件夾大小
$df -m (-k)
四、Linux命令
Linux命令需要在adb shell后進入設備后執(zhí)行,或者和adb shell 一起執(zhí)行,常見的命令有:cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符號 ">" ">>"、管道 "|"
命令 | 功能 |
---|---|
cat | 顯示文件內容 |
cd | 切換目錄 |
chmod | 改變文件的存取模式/訪問權限 |
cp | 復制文件 |
df | 查看磁盤空間使用情況 |
grep | 過濾輸出 |
kill | 殺死指定 PID 的進程 |
ls | 列舉目錄內容 |
mount | 掛載目錄的查看和管理 |
mv | 移動或重命名文件 |
ps | 查看正在運行的進程 |
rm | 刪除文件 |
top | 查看進程的資源占用情況 |
sync | 同步更新 |
du | 查看文件夾大小 |