ADB,即 Android Debug Bridge,ADB具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能,是 Android 开发/测试人员不可替代的强大工具,但是初学者在使用adb的时候,总是会遇到一些问题,今天allen老师就给大家梳理两个常见问题的解决思路,希望能够帮助到遇到问题、不知所措的你。
问题一:使用appium时adb不断重启服务
在使用ADT+appium+夜神模拟器进行app自动化测试的时候,通过cmd connect 127.0.0.1:62001已经能够成功连接上夜神模拟器,但是一运行自动化脚本就出错,检查appium服务日志发现,adb被频发restarting,最终导致设备掉线,脚本运行失败。
分析发现:ADT目录/sdk/platform-tools/是配置在环境变量中的,而且该目录下的adb是1.0.31的版本,而我们使用的夜神模拟器下的nox_adb是1.0.36版本,版本不一致。
解决方法:将夜神模拟器bin目录下的nox_adb.exe拷贝一份到ADT目录/sdk/platform-tools/下,并将其重命名为adb.exe替换掉之前的,保证两处的adb版本一致,再cmd下查看adb版本如下。
再运行自动化脚本,就能正常运行、不再重启了。
如果还不能解决,就可能电脑上还有其他的adb程序,可以通过where adb命令查看一下,如果有多余的,删除掉即可。
问题二:adb连接手机未授权问题(unauthorized)
使用adb连接手机,最常见的问题就是在开启手机的usb调试的时候不能正常弹出手机授权信任的页面,从而导致adb devices查看状态时候出现设备未授权的问题。
下面我们先以oppo手机为例,来介绍ADB通过USB连接手机的基本步骤,再解决未授权的的问题。
adb连接手机设置(oppo手机为例)
手机设置-->关于手机-->版本信息(基带、内核版本等)-->多次点击版本号:即可进入开发者模式
2、设置-->其他设置-->开发者选项--->点开USB调试按钮
3、用数据线连接手机与电脑,弹出以下信息,点击选择”传输文件”
打开cmd窗口,输入adb devices,验证连接真机是否操作成功
若执行adb devices命令后显示“unauthorized”设备未授权
分析原因:
之前调试时设备授权过,授权后的手机不会再提示授权,但此次调试需要重新授权;
由于驱动电脑端驱动问题,手机未能成功授权。
解决方案:
1.获取设备VID
USB将手机与电脑连接,windows右击电脑属性→设备管理器→便携设备→属性→详细信息→硬件id,如下设备VID为18D1
2.配置adb_usb.ini
在电脑用户文件夹下找到C:\Users\Administrator\.android文件夹,查看文件夹下是否有 adb_usb.ini 这个文件,若没有则新建一个txt文件修改后缀,输入以下内容并替换设备VID的值即可。
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x18D1
配置完成后,执行命令adb kill-server,adb start-server
手机重新连接电脑后就会弹出设备授权调试提示了,确认授权。
重新执行命令adb devices 如下,设备调试连接成功。
更多关于软件测试培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。