adb常用命令一
adb简介
adb(Android Debug Bridge)Android调试桥是一种功能多样的命令行工具,可让设备之间(PC端和移动端)进行通信。 adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix Shell(可用来在设备上运行各种命令)的访问权限。 它是一种客户端-服务器程序。
一、adb连接
本菜使用的是模拟器,不同模拟器端口不一样。比如谷歌模拟器端口则默认为5555;
$ adb connect 127.0.0.1:21503
adb server is out of date. killing...
* daemon started successfully *
connected to 127.0.0.1:21503
$ adb devices
List of devices attached
127.0.0.1:21503 device
二、adb常使用命令
Linux下的命令就不多说了;直接看adb的常用命令(在pc端控制台查看、使用) Android Debug Bridge version 1.0.32 device commands:
1.adb push
顾名思义,push,推送:
在pc端控制台将pc端的文件(夹)push到移动端,用法实例:
$ adb push inject /data/local
1606 KB/s (17936 bytes in 0.010s)
进入安卓手机验证:
root@SM-G9350:/data/local # ls
gdb
inject
tmp
如上所示inject文件被push到安卓机中。
2.adb pull
与push相反
在pc端控制台将移动端的文件(夹)pull到pc端。
$ adb pull /data/local/inject C:\Users\本阿信
2507 KB/s (17936 bytes in 0.006s)
在pull文件夹控制台验证:
$ dir
驱动器 C 中的卷是 root
卷的序列号是 0009-A6D5
C:\Users\本阿信 的目录(此下DIR为尖括号,会将文本格式闭合,所以换成括号)
2019/11/30 22:25 (DIR) .
2019/11/30 22:25 (DIR) ..
2019/11/28 17:15 (DIR) .android
2019/11/28 17:44 (DIR) .idlerc
2019/11/30 22:03 (DIR) .MemuHyperv
2019/10/16 22:05 (DIR) .ssh
2019/11/30 22:25 17,936 inject
如上所示inject文件已经被pull到pc端了。
3.adb shell
打开进入已连接安卓机的shell; adb提示已经连接上了安卓手机,直接进入系统。
$ adb shell
root@SM-G9350:/ # whoami
root
root@SM-G9350:/ # pwd
/
root@SM-G9350:/ # uname -a
Linux localhost 4.0.9 #661 SMP PREEMPT Mon Nov 4 13:15:47 CST 2019 i686 GNU/Linux
可以发现有熟悉的Linux系统的影子~
4.adb shell
后缀加入command,不同于3 run remote shell command 远程运行shell命令。控制台不进入Andriod Shell;
$ adb shell uname -a
Linux localhost 4.0.9 #661 SMP PREEMPT Mon Nov 4 13:15:47 CST 2019 i686 GNU/Linux
如上,控制台回显信息,但此时还是在pc端控制台,并没有进入安卓控制台。
5.adb logcat
[] - View device log 查看设备日志:
查看所有日志:
$ adb logcat
--------- beginning of main
I/Netd ( 0): Netd 1.0 starting
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/ifb0/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/ifb1/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
I/installd( 0): installd firing up
I/ ( 0): debuggerd: Apr 4 2019 17:10:30
过滤日志:
$ adb logcat E/WifiStateMachine
E/WifiStateMachine( 509): WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=-0.00 rxSuccessRate=-0.00 targetRoamBSSID=any RSSI=-55
E/WifiStateMachine( 509): WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=-0.00 rxSuccessRate=-0.00 targetRoamBSSID=any RSSI=-55
E/WifiStateMachine( 509): WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=-0.00 rxSuccessRate=-0.00 targetRoamBSSID=any RSSI=-55
E/WifiStateMachine( 509): WifiStateMachine shouldSwitchNetwork txSuccessRate=-0.00 rxSuccessRate=-0.00 delta 999 -> 999
E/WifiStateMachine( 509): CMD_AUTO_ROAM sup state CompletedState my state ConnectedState nid=0 config "lgrut25642"NONE roam=1 to any targetRoamBSSID any
E/WifiStateMachine( 509): AUTO_ROAM nothing to do
E/WifiStateMachine( 509): WifiStateMachine CMD_START_SCAN source -2 txSuccessRate=-0.00 rxSuccessRate=-0.00 targetRoamBSSID=any RSSI=-55
6.adb install
[-lrtsd]
安装1.apk命令(在pc端,且1.apk为绝对路径)
$ adb install 1.apk
3480 KB/s (54687952 bytes in 15.344s)
pkg: /data/local/tmp/1.apk
Success
7.adb uninstall
[-k] - remove this app package from the device ('-k' means keep the data and cache directories)
$ adb uninstall [-k] com.com.pack
Success
-k参数值保存安装数据和缓存。
8.adb help
- show this help message;显示帮助信息
9.adb version
- show version num;显示版本号