通过adb操作android设备 连接上数据线,然后把手机开发者模式打开,打开usb调试。
adb命令 在开发和测试中可以通过adb来管理多台设备,一般格式为: adb [-e | -d | <设备序列号>] <子命令>
1、查看连接设备
adb devices
2、多台设备连接选择一台设备
adb -s 设备名称
3、获取设备状态
adb get-state
设备的状态有 3 种,device , offline , unknown
device:设备正常连接
offline:连接出现异常,设备无响应
unknown:没有连接设备
4、查看安装在设备上的应用信息
adb shell pm list package
5、查看设备上的系统应用
adb shell pm list package -s
6、查看设备上应用包名及对应的apk名及存放位置
adb shell pm list package -f
7、过滤应用
adb shell pm list package <过滤条件>
8、安装apk包命令
adb install 路径名/包名.apk (路径名:安装包在电脑上的路径) adb install -r 路径名/包名.apk #覆盖强制安装
9、卸载app
adb uninstall app包名
10、查看app版本号
adb shell "dumpsys package app包名 | grep versionName"
11、从电脑移动文件到手机上
adb push G:/hello.txt /sdcard 把PC文件移动到/sdcard根目录。
12、从手机移动文件到电脑上
adb pull /sdcard/hello.txt C:/Users/yangx/Desktop 把手机/sdcard根目录的文件移动收电脑桌面
13、在cmd窗口查看手机的log日志
adb logcat 打印默认日志数据 adb logcat -v time 打印日志详细时间的简单数据 adb logcat *:E 打印级别为ERROR的信息 adb logcat -v time *:E 打印时间和级别是ERROR的信息 adb logcat -v tme >D:\log.txt 将日志保存到电脑固定的位置,比如:D:\log.txt
14、日志过滤
adb logcat <tag>[:priority]
tag表示标签,priority输出的级别,日志默认级别是V,如果错误日志我们选择E就可以。
Android 的日志分为如下几个优先级(priority):
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent
其实*可以是某个tag,如果没有指明,就表示所有。
tag可以由多个 [:priority] 组成。比如,命令:
adb logcat ActivityManager:I MyApp:D *:S
表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽 其它 tag 日志)。
adb logcat选项解析
--"-s"选项 : 设置输出日志*:s的标签, 只显示该标签的日志;
--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
--"-c"选项 : 清空所有的日志缓存信息;
--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
--"-g"选项 : 查看日志缓冲区信息;
--"-B"选项 : 以二进制形式输出日志;
15、手机重启
adb reboot
16、手机关机
adb shell reboot -p
17、手机截屏
adb shell screencap /sdcard/sereen.png
18、adb-server的开启与关闭
adb kill-server adb的关闭 adb start-server adb的开启
19、设备内存查看
adb shell dumpsys meminfo
20、获取应用的apk所在路径
adb shell pm path com.dachen.dgroupdoctorcompany
21、查看当前与用户交互的activity
如果在Windows下使用时,则先通过adb shell进入到adb shell里,然后把adb shell去了,再将余下的复制到$后面进行执行,这样就不会提示:“grep”不是内部或外部命令,也不是可运行查询了。
方法1:
adb shell dumpsys activity | grep "mFoc"
方法2:
adb shell dumpsys activity | grep -i run
方法3:
adb shell dumpsys activity activities | sed -En -e '/Running activities/,/Run #0/p'