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 });