-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
我们项目用了某不知名小厂定制的安卓系统,从某个版本开始,这个系统内部有个进程会监听9008端口。这个该死的进程我们还没足够的权限去杀掉,导致每次我们使用u2.connect尝试连接,都会报如下错误:
[server] INFO: [UiAutomator2Server] Starting Server
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[server] INFO: clipboardManager inited
[server] INFO: tmpdir is /data/local/tmp/u2
java.net.BindException: bind failed: EADDRINUSE (Address already in use)
libcore.io.IoBridge.bind(IoBridge.java:149)
java.net.PlainSocketImpl.socketBind(PlainSocketImpl.java:162)
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:427)
java.net.ServerSocket.bind(ServerSocket.java:399)
java.net.ServerSocket.bind(ServerSocket.java:353)
fi.iki.elonen.NanoHTTPD$ServerRunnable.run(NanoHTTPD.java:1761)
java.lang.Thread.run(Thread.java:1012)
Caused by: android.system.ErrnoException: bind failed: EADDRINUSE (Address already in use)
libcore.io.Linux.bind(Native Method)
libcore.io.ForwardingOs.bind(ForwardingOs.java:138)
libcore.io.IoBridge.bind(IoBridge.java:145)
原因很清楚,就是那个该死进程占用了9008端口,可是我们就是没有办法去结束这个进程。这么一来,我们想继续使用uiautomator2就没法继续了,切换测试工具短时间也非常麻烦,真心希望uiautomator2这个优秀的框架支持启动u2.jar的时候能够用户自定义监听端口,比如19008,这样能够避免端口冲突的情况,谢谢。