一、连接真机或者模拟器
adb connect 127.0.0.1:62001
注意:这里连接的是夜神模拟器的端口号是62001,注意默认第一台模拟器端口是62001
若要连接多台夜神模拟器,首先要开启模拟器,然后,再查看任务管理器中程序PID
然后,启动命令窗口CMD模拟器所监听的端口
netstat -ano | findstr "6356"
结果:
C:\Users\Administrator>netstat -ano | findstr "6356"
TCP 127.0.0.1:56033 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:57001 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:58031 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:60001 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:61025 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:62026 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:63027 0.0.0.0:0 LISTENING 6356
TCP 127.0.0.1:64028 0.0.0.0:0 LISTENING 6356
经过测试,发现62026能连接成功
adb connect 127.0.0.1:62026
查看设备连接情况
C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:62001 device
127.0.0.1:62026 device
二、查看连接设备
获取当前电脑连接设备和对应的设备号
adb devices
结果,显示连接一台手机:
C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:62001 device
如果没有连接好,(真机)需要检查数据线是否连接好,是否下载好相应的驱动,是否打开开发者模式。更详细的信息可以参考:https://github.com/mzlogin/awesome-adb
然后再打开调试模式,再检查端口是否被占用(adb的默认端口号是5037),检查端口号是否被占用命令:
netstat -ano | findstr 5037
三、安装包
在手机安装对应的app应用,首先在电脑上准备好对应的包(apk文件)
adb install 路径/xx.apk
四、卸载包
卸载app
adb uninstall 包名
五、获取包名和界面名(启动名)
-
第一种命令
linux和mac平台的命令格式:
adb shell dumpsys window windows | grep mFocusedApp
windows平台的命令格式:
adb shell dumpsys window windows | findstr mFocusedApp
结果:
mFocusedApp=AppWindowToken{3273c86a token=Token{db90655 ActivityRecord{18b42d0c u0 com.android.contacts/.activities.PeopleActivity t2}}}
其中,com.android.contacts为包名,.activities.PeopleActivity为界面名
-
第二种命令
另外,也可以用以下命令获取当前开启应用的包名
adb shell dumpsys activity | find "mFocusedActivity"
结果:
mFocusedActivity: ActivityRecord{15300bd2 u0 com.tencent.mm/.ui.LauncherUI t3}
注意:该命令在Android 8.0之下可以使用,8.0以上会存在问题,修改命令如下即可:
adb shell dumpsys activity | find "mResumeActivity"
六、发送文件到手机
将需要的数据文件或者数据库文件在电脑上创建好,然后推送到手机
命令格式:adb push 电脑的文件路径 手机的文件夹路径
adb push C:\temp\TimeLog\a.txt /sdcard
发送后成功后,在手机端刷新即可见到文件。
若不成功,可能是没有获取到设备的读写权限,所以需要先获取设备的读写权限。命令如下:
adb remount
然后,再获取root操作权限
adb root
七、从手机拉去文件至电脑
将需要修改的数据文件拉取至电脑,便于编辑和修改
命令格式:adb pull 手机的文件路径 电脑的文件夹路径
adb pull /sdcard/b.txt C:\temp\TimeLog\
若不成功,可能是没有获取到设备的读写权限,所以需要先获取设备的读写权限。命令如下:
adb remount
然后,再获取root操作权限
adb root
八、获取app启动时间
测试的时候需要考虑app启动的时间,提高用户体验。注意:不要超过同类型软件app的启动时间的一倍。
adb shell am start -W 包名/界面名
解释:
ThisTime: 0
TotalTime: 0 #app自身启动时间
WaitTime: 7 #系统启动应用时间
注意:-W是大写。
九、获取手机日志
便于开发人员定位程序bug
adb logcat
查看后,可以用CTRL + C 退出查看日志。
为了方便,有时候想要将日志导入到电脑可以使用如下方法:
adb logcat > D:\test.txt
也可以通过滤其他的应用,专注查看某应用的log
adb logcat | grep 包名
这样就会只查看当前打开应用的log信息,不过需要先获取应用的包名
adb shell dumpsys window windows | findstr mFocusedApp
十、手机shell命令
进入安卓手机系统内部的linux系统命令中,exit退出
adb shell
进入shell后可以做很多的事情,比如查看当前应用的CPU使用情况
root@shamu:/ # top | grep 包名
十一、其他命令
序号 | 命令 | 说明 |
---|---|---|
01 | adb kill-server | 终止adb服务 |
02 | adb start-server | 启动adb服务 |
03 | adb --help | 帮助 |
04 | adb remount | 获取设备的读写权限 |