ADB(4)
ADB很强大,记住一些ADB命令有助于提高工作效率。
获取序列号:
```sh
get-serialno
```
查看连接计算机的设备:
```sh
devices
```
重启机器:
```sh
reboot
```
重启到bootloader,即刷机模式:
```sh
reboot bootloader
```
重启到recovery,即恢复模式:
```sh
reboot recovery
```
查看log:
```sh
logcat
```
终止adb服务进程:
```sh
kill-server
```
重启adb服务进程:
```sh
start-server
```
获取机器MAC地址:
```sh
shell cat /sys/class/net/wlan0/address
```
获取CPU序列号:
```sh
adb shell cat /proc/cpuinfo
```
安装APK:
```sh
adb install <apkfile> //比如:adb install baidu.apk
```
保留数据和缓存文件,重新安装apk:
```sh
adb install -r <apkfile> //比如:adb install -r baidu.apk
```
安装apk到sd卡:
```sh
adb install -s <apkfile> // 比如:adb install -s baidu.apk
```
卸载APK:
```sh
adb uninstall <package> //比如:adb uninstall com.baidu.search
```
卸载app但保留数据和缓存文件:
```sh
adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search
```
启动应用:
```sh
adb shell am start -n <package_name>/.<activity_class_name>
```
查看设备cpu和内存占用情况:
```sh
adb shell top
```
查看占用内存前6的app:
```sh
adb shell top -m 6
```
刷新一次内存信息,然后返回:
```sh
adb shell top -n 1
```
查询各进程内存使用情况:
```sh
adb shell procrank
```
杀死一个进程:
```sh
adb shell kill [pid]
```
查看进程列表:
```sh
adb shell ps
```
查看指定进程状态:
```sh
adb shell ps -x [PID]
```
查看后台services信息:
```sh
adb shell service list
```
查看当前内存占用:
```sh
adb shell cat /proc/meminfo
```
查看IO内存分区:
```sh
adb shell cat /proc/iomem
```
将system分区重新挂载为可读写分区:
```sh
adb remount
```
从本地复制文件到设备:
```sh
adb push <local> <remote>
```
从设备复制文件到本地:
```sh
adb pull <remote> <local>
```
列出目录下的文件和文件夹,等同于dos中的dir命令:
```sh
adb shell ls
```
进入文件夹,等同于dos中的cd 命令:
```sh
adb shell cd <folder>
```
重命名文件:
```sh
adb shell rename path/oldfilename path/newfilename
删除system/avi.apk:
```sh
adb shell rm /system/avi.apk
```
删除文件夹及其下面所有文件:
```sh
adb shell rm -r <folder>
```
移动文件:
```sh
adb shell mv path/file newpath/file
```
设置文件权限:
```sh
adb shell chmod 777 /system/fonts/DroidSansFallback.ttf
```
新建文件夹:
```sh
adb shell mkdir path/foldelname
```
查看文件内容:
```sh
adb shell cat <file>
```
查看wifi密码:
```sh
adb shell cat /data/misc/wifi/*.conf
```
清除log缓存:
```sh
adb logcat -c
```
查看bug报告:
```sh
adb bugreport
```
获取设备名称:
```sh
adb shell cat /system/build.prop
```
查看ADB帮助:
```sh
adb help
```
跑monkey:
```sh
adb shell monkey -v -p your.package.name 500
```
通过ADB授权获取XML的方法
adb shell /system/bin/uiautomator dump --compressed /sdcard/uidump.xml
adb shell uiautomator dump /sdcard/uidump.xml
可以获取当前应用的activity屏幕上所有控件的层级信息并保存在sdcard下ui.xml文件里面.
然后通过解析ui.xml文件就可以拿到想要的控件信息.
shell("uiautomator dump /sdcard/uidump.xml", { adb: true });