APP测试之使用ADB可能遇到的错误及解决办法

错误一

在cmd中执行“adb ”,提示:adb不是内部或外部命令,也不是可运行的程序。

这意味着没有配置好adb环境。

解决办法:

1、如果是win10系统的环境变量配置打开path,

添加如下:

%ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;

(注意要先点击新建再分别在两行创建,并且不需要分号)

2、如果是win7系统打开path,

添加如下:

%ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;

(直接粘贴到path变量值后面即可)

图片

错误二

在cmd中执行“adb shell”,提示:error: device not found(没有设备信息)

 意思是没有发现设备。

解决方法:

1、如果用手机设备测试,请用USB数据线与电脑连接,同时安装好手机驱动(比如91助手、豌豆荚);

2、如果采用模拟器测试,应该先启动eclipse,然后设置好模拟器,并进入模拟器测试状态,如下图所示:

图片

错误三

执行“adb shell”,提示:error: more than one device and emulator.

第一种情况:确实用多个设备或者模拟器

错误说明是有一个以上的设备和仿真器,这是因为启用了模拟器,同时也将手机通过USB线连接到了电脑,所以这里存在两个设备。这种情况下,需要指定连接某一个设备或者模拟器。

问题定位及解决办法:

1、获取模拟器或设备列表

命令:adb devices

效果如下图所示:

图片

2、指定device来执行adb shell

命令:adb -s devicename shell

在多个device的时候,执行adb命令一般都需要用参数-s指定device。

如卸载emulator-5554上的包com.soft.camera,命令如下:

adb -s emulator-5554 uninstall com.soft.camera

通过monkey测试:

adb -s emulator-5554 shell monkey -v -p com.tencent.WeChat 500

第二种情况:确实有一个设备或者模拟器

之所以显示有多个,是因为此设备用过两次,使用命令 adb devices 会看到这个设备有两种状:offline 和 device,有以下两种解决办法:

1、重启adb.exe服务

一般办法:在命令窗口输入 adb start-server 重新启动adb.exe服务;

2、终极方法,结束adb进程

如果上述方法不可以,终极方法:打开任务栏,选择“进程”选项卡,找到adb.exe进程,结束之,重新启动就OK啦(或者在命令窗口输入命令 adb kill-server )。

 
错误四

执行“adb devices”,显示设备:unauthorized(未授权).

图片

原因:是因为在安卓端,尚未允许计算机对设备进行调试。

解决办法:

1、手动点亮手机屏幕,会有相应的授权提示,在提示上,勾选“一律允许”,并点击确定即可。

如下图所示:

图片

2、在手机屏幕上确认之后,再次输入指令:adb devices ,即可成功连接设备,如下图所示:

图片



错误五

在cmd中输入:adb -s HT21JV204550 shell monkey -v -p com.tencent.WeChat 500

,在手机上通过monkey测试出现:No activities found to run, monkey aborted.

意思是:没有找到要运行的activities,monkey中止。

解决措施:

1、通过模拟环境测试,Eclipse设置如下:

图片

2、通过手机测试,应该将“Target”选项卡中由原来的“Automatic”项改为“Manual”,如下图所示:

图片

3、然后选择“Target”选项卡的前面一个选项卡“Android”,点击下面的“Run”,执行Run后结果如下:

图片

4、点击OK,程序会将APK写入手机,这时就可以在cmd中输入命令:adb -s HT21JV204550 shell monkey -v -p com.tencent.WeChat 500 ,通过在真实手机环境下进行测试了。

错误六

显示:adb端口被占用.

图片

解决办法:
1、使用netstat -ano | findstr 5037查看5037端口对应的进程号(因为5037是adb的默认端口号);

2、taskkill  /f  /pid 进程号即可杀死,如下图所示,杀死PID为9516的进程:

图片

原文地址:https://www.cnblogs.com/chenyablog/p/15172569.html