一、一般项:
1. 列举设备列表
adb devices
adb devices -l 加上-l参数会列举出设备的详细信息,如果报错是error:protocol fault(no status)从任务管理器杀掉各种手机助手的进程即可
2. 连接设备
adb connect 127.0.0.1:62001
设备多余一个必须加-s
adb -e connect 127.0.0.1:62001 只连接模拟器
adb -d connect ADBC只连接手机
adb disconnect 127.0.0.1:62001 断开设备
3. 启动appium,独立存放日志
appium -g e:appium.log
4.将所有占用adb端口的乱七八糟的东西杀一遍,杀adb进程
adb kill-server
5.检查adb服务状态,若没有启动就启动
adb start-server
6.进入手机shell环境
adb shell
adb -d shell -d参数直接进入当前usb连接的设备shell环境
adb -e shell -e参数直接进入了当前模拟器设备的shell环境
adb -s 127.0.0.1:62001 shell 进入该设备的shell环境不分模拟器还是真机
7.退出shell使用:exit
8.检查设备是否正常响应,返回ping说明正常
adb shell echo ping
9.解决error: unknown host service端口被占用
1)查看5037端口被那个端口占用
netstat -ano|findstr 5037
2)查看占用的5037的端口6724是什么应用
tasklist /fi "pid eq 6724"
3)按照进程id结束进程6724
taskkill -F -PID 6724
4)taskkill -F -im name 按照进程名称强杀进程
taskkill -F -im node.exe
10. helps输出adb支持的命令
11. adb version 输出adb的版本
二、调试项
1. 在屏幕上输出日志信息
1)adb logcat 一个设备的情况下,查看设备日志
2)adb -s 127.0.0.1:62001 logcat 查看指定设备的日志
3)adb -s 127.0.0.1:62001 logcat >d:logcat.txt 将log日志打印到电脑文件中
4)adb -s 127.0.0.1:62001 logcat -f /data/local/tmp/logcat -f参数是将日志保存在手机设备的
5)adb -s 127.0.0.1:62001 logcat |findstr "com.zhihu.android" >d:zhihu.txt 通过筛选获取想要的日志
6)“>”重定向符号,把东西输出到重定向后面
7)也可以先adb shell进入shell环境再logcat
adb shell
logcat |grep "com.zhihu.android" >/data/local/tmp/zhihu.txt
此时手机上已经有了这个文件
8)bugreport命令会将dumpsys,dumpstate以及log的信息全部显示
adb bugreport >e:dumpstate.log
dumpsys:安卓系统命令获取Android服务进程的各个信息
adb shell dumpsys >e:dumpsys.log
dumstate:安卓系统命令,状态信息包括手机当前内存,cpu等
adb shell dumpstate >e:dumpstate.log
三、数据项
1. 安装apk文件到设备
adb install e:zhihu.apk(apk本地的路径)
2.若已安装,需要再次安装加参数-r,否则会失败
adb install -r e:zhihu.apk
3.卸载apk
adb uninstall com.zhihu.android
4.pull命令,从手机设备copy指定的文件到电脑机
adb pull 设备上的路径 电脑本地的路径,如:
adb pull /data/local/tmp/zhihu.txt e:MI
5. push命令,从电脑机copy指定文件到设备
adb push 电脑路径 设备路径
adb push e:MIzhihu.txt /data/local/tmp
6. shell命令,进入安卓shell环境,这里的shell环境指的是安卓系统
adb shell <command>直接执行shell环境下的命令
adb shell -s 设备名 进入指定的设备
adb shell vmstat
这里的vmstat(本身是一个Linux命令)命令会显示服务器的状态值,包括cpu,内存,io读写等
7. root命令
1)adb root 以root身份重启adbd守护进程,对于未获得root权限的手机,这个命令会报错
2)adb usb 在usb上重启守护进程的监听
3)tcpip <port> 命令在特定端口上以tcpip协议重启守护进程的监听
adb tcpip 8787
四、Dos命令
1. cd 切换目录,注意切换盘符不能使用cd e:这样的形式,必须直接使用e:就可以切换
2. cd .. 返回上一级目录
3. cd .... 返回上两级目录
4. dir 查看当前目录都有哪些文件
5.目录操作
1)md 创建目录
2)rd /s /q testdir 删除testdir这个目录及其以下的所有文件
3)type test.txt 查看文件内容
4)del test.txt删除文件
五、安卓shell命令
1. cd命令,切换目录
cd .. 返回上一级
cd - 返回上次的目录
cd ~ 返回当前用户的home目录
pwd 显示当前所咋目录路径
rm -rf <文件或者目录> 表示强制删除文件或目录,-r表示递归删除,-f表示强制不用询问
mkdir <目录名称> 创建目录
cat <文件名称> 查看文件内容
五、appium日志中的命令
1.启动apk的命令
package: name='com.zhihu.android'
2.查找package
package: name='com.zhihu.android'
aapt d badging Desktopzhihunew1.apk | findstr "package activity"
3.查找activity
launchable-activity: name='com.zhihu.android.app.ui.activity.MainActivity’
aapt d badging Desktopzhihunew1.apk | findstr "activity"
4.查找package和activity
aapt d badging Desktopzhihunew1.apk | findstr "package activity"
5. 获取当前运行窗口的activity
adb shell dumpsys window windows | findstr "mCurrentFocus"
6.列举出第三方应用
adb shell pm list packages -3
检查此包有没有安装
adb shell pm list packages -3 com.zhihu.Android
7.列举出全部应用
adb shell pm list packages
8.查看目录
adb shell ls 查看目录
9.重置应用
abd shell pm clear +包名
10 .强制停止应用
adb shell am force-stop +包名
11.获取系统的属性或信息
adb shell getprop 获取全部
adb shell getprop ro.build.version.release 获取系统版本
adb shell getprop persist.sys.language 获取设备语言
12.打印出当前系统信息,默认打印出设备中所有service的信息
adb shell dumpsys window
13.按home键把应用退到后台运行回到桌面
adb shell input keyevent 3 按home键
14.启动应用
adb shell am start 包名/activity名
adb shell am start com.zhihu.android/com.zhihu.android.app.ui.activity.MainActivity