当前位置:  开发笔记 > Android > 正文

当应用程序在设备上运行时,无法获取uiautomator工具中的元素

如何解决《当应用程序在设备上运行时,无法获取uiautomator工具中的元素》经验,为你挑选了1个好方法。



1> Anonymous..:

我刚刚为我解决了这个问题,所以即使问题很老,我还是想分享一下.简单地重新启动adb是行不通的.使用管理员权限打开命令提示符并执行以下命令:

netstat -o -n -a | findstr 5037

这将生成结果列表.这就是我的情况:

 TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       3408
 TCP    127.0.0.1:5037         127.0.0.1:50018        ESTABLISHED     3408
 TCP    127.0.0.1:5037         127.0.0.1:54507        ESTABLISHED     3408
 TCP    127.0.0.1:5037         127.0.0.1:63330        ESTABLISHED     3408
 TCP    127.0.0.1:5037         127.0.0.1:63332        ESTABLISHED     3408
 TCP    127.0.0.1:50018        127.0.0.1:5037         ESTABLISHED     1664
 TCP    127.0.0.1:54507        127.0.0.1:5037         ESTABLISHED     1664
 TCP    127.0.0.1:63330        127.0.0.1:5037         ESTABLISHED     1664
 TCP    127.0.0.1:63332        127.0.0.1:5037         ESTABLISHED     1664

最右边的列是进程ID(PID).正在监听所需套接字的进程是3408.所以这个过程必须DIE!如果您这样做,会发生什么:

taskkill /F /PID 3408

之后你就可以做到

adb kill-server
adb start-server

重新启动adb服务器,最有可能的是,您的adb将成功启动.

更新:

我制作了这个小蝙蝠文件,以便更容易,因为这种情况经常发生.确保

1. to place this bat at the same folder as adb.exe 
2. run it as administrator. 

它将直接显示正在使用套接字的PID.输入该PID并按Enter键,问题就消失了.

netstat -o -n -a | findstr 5037 | findstr LISTENING  
set /p pid=Enter pid to kill:%=%
@echo %pid%
taskkill /F /PID %pid%
adb kill-server
adb start-server
pause

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有