常用的adb命令
adb運行原理:
1、PC端的adb server與手機端的守護進程adbd建立連接;
2、PC端的adb client通過adb server轉發命令給守護進程adbd;
3、adbd守護進程接收到命令後解析運行。
命令格式:
adb [-s <serialNumber>] <command>
如果連接多臺設備時,需要使用-s來指定相應的設備來運行
基本用法:
1、查看adb版本
adb version
2、查看已經連接的設備信息
adb devices
3、連接模擬器設備(ip+端口號,第一臺夜神模擬器的端口號是62001)
adb connect 127.0.0.1:62001
4、指定adb server的網絡端口號(默認是5037)
adb -P <port> start-server
5、查看應用列表(<filter>可以加字符,進行過濾,不加<filter>表示查出全部的包)
adb shell pm list package <filter>
也可以使用grep來過濾(windows系統需要先進到shell中)
adb shell
pm list package|grep str
6、開啓adb server(在調用adb命令時,會自動開啓)
adb start-server
7、停止adb server
adb kill-server
8、獲取指定設備的分辨率
adb -s 127.0.0.1:62001 shell wm size
9、給指定設備安裝apk包
adb -s 127.0.0.1:62001 install test.apk
應用管理:
1、安裝指定路徑下面的apk包
adb install <path_to_apk>
這裏的adb install其實是分三步完成的:
1、push apk到設備/data/local/tmp目錄下面
2、調用pm install安裝apk
3、刪除/data/local/tmp下面的apk包
2、卸載應用
adb uninstall [-k] <packageName>
-k參數表示卸載應用但是保留數據和緩存目錄
3、清楚應用數據和緩存
adb shell pm clear <packageName>
4、 查看正在運行的程序
adb shell dumpsys activity services [<packageName>]
5、調用相應package的activity
adb shell am start [options] <INTENT>
6、強制停止某應用
adb shell am force-stop <packageName>
文件管理:
1、將手機設備中的文件複製到電腦
adb pull <手機中的文件路徑> [電腦中的目錄]
eg:adb pull /sdcard/test.txt C:\test\
2、將電腦中的文件複製到手機設備
adb push <電腦中文件路徑> <手機的目錄>
eg:adb push C:\test\text.txt /sdcard/
模擬按鍵輸入:
命令格式:
adb shell input keyevent <keycode>
根據不同的keycode來實現不同的功能
adb shell input keyevent 26 //按電源鍵
adb shell input keyevent 4 //按下返回鍵
adb shell input keyevent 82 //按下菜單鍵
adb shell input keyevent 3 //按下home鍵
輸入框輸入文字:
adb shell input text hello
//在焦點處於某文本框時,命令用來輸入文本
查看日誌:adb logcat
命令格式:
[adb] logcat [<option>]…[<filter-spec>]…
常用用法:
- 按級別過濾日誌:
V:Verbose(級別最低,輸出日誌最多)
D:Debug
I:Info
W:Warming
E:Error
S:Silent(級別最高,什麼也不輸出)
adb logcat *:W
adb logcat *:V
- 按照tag和級別過濾日誌:
<filter-spec>可以由多個<tag>[:priority]組成
adb logcat ActivityManager:I MyApp:D *:S
表示:
輸出tag爲ActivityManager的info級別以上的日誌
輸出tag爲MyApp的Debug級別以上的日誌
輸出tag爲Silent級別的日誌
- 按照相應的日誌格式輸出日誌:
adb logcat -v <format>
日誌支持以下幾種<format>:
1、brief
默認格式,格式爲:<priority>/<tag>:<message>
2、process
格式:<priority>(<pid>) <message>
3、tag
格式爲:<priority>/<tag>:<message>
4、raw
格式爲:<message>
5、time
格式爲:<datetime><priority>/<tag>(<pid>):<message>
6、threadtime
格式爲:<datetime> <pid><tid><priority><tag>:<message>
7、long
格式爲:[<datetime><pid>:<tid> <priority>/<tag>]
<message>
清空日誌:
adb logcat -c
查看內核日誌:
adb shell dmesg
查看設備信息:
輸出一些其他設備信息:
adb shell getprop <屬性名>
adb shell getprop ro.product.model //查看設備型號
adb shell getprop ro.build.version.release //查看系統版本
查看硬件參數信息:
adb shell dumpsys battery //查看電池信息
adb shell dumpsys window displays//查看屏幕參數
adb shell ifconfig wlan0 //查看ip地址(連的wifi)
adb shell netcfg //查看更網絡配置信息
adb shell cat /proc/cpuinfo //查看cpu信息
adb shell cat /proc/meminfo //查看內存信息
adb shell cat /sys/class/net/wlan0/address //查看MAC地址
adb shell cat /system/build.prop //更多硬件與系統屬性
查看屏幕相關信息:
adb shell wm size //查看屏幕分辨率
adb shell wm size 480X1024 //設置屏幕分辨率
adb shell wm size reset //恢復原分辨率
adb shell wm density //查看屏幕密度
adb shell wm density 160 //設置屏幕密度
adb shell wm density reset //恢復原密度
adb shell wm overscan 0,0,0,200 //設置顯示區域
adb shell wm overscan reset //恢復原顯示區域
查看設置信息:
adb shell settings put global adb_enabled 0 //關閉usb調試模式
adb shell settings get secure android_id //查看設備id
使用功能:
1、重啓設備
adb reboot
2、屏幕截圖
adb exec-out screencap -p > sc.png //(這個命令直接截圖保存在電腦)
或者
adb shell screencap -p /sdcard/1.png 截圖保存到設備
adb pull /sdcard/1.png 將截圖保存到電腦
3、屏幕錄製
adb shell screenrecord /sdcard/filename.mp4 屏幕錄製
adb pull /sdcard/filename.mp4 導出到電腦
查看進程:
adb shell ps
pid:進程id
ppid:父進程id
查看實時資源情況:
adb shell top
查看進程號uid:
adb shell dumpsys package <packagename>|grep userId=
凡是需要進入到shell中執行的命令,就是linux命令,跟linux操作系統下的命令使用一致