Appium xpath 使用误区,请进

chuyaoyao · 2014年02月24日 · 最后由 yifenzhonghuxi 回复于 2016年05月24日 · 2938 次阅读


findelements 使用 xpah 误区:
puts @driver.find_elements(:xpath,'//TextView').count 能获得 6 个 正确
puts @driver.find_elements(:xpath,'//HorizontalScrollView/TextView'). 怎么只能返回 1 个

请问是 bug 么

共收到 28 条回复 时间 点赞

HorizontalScrollView 下面不是 LinerLayout 么?

第二个取得应该不是那 6 个中的一个..你最好检查下

#2 楼 @seveniruby 确认了 ,是 6 个中的第一个 囧 我觉得 xpath 可能匹配的是整体串

#1 楼 @lihuazhang 跳过一个没关系的 //HorizontalScrollView/LinerLayout /TextView 结果是一样的

#3 楼 @chuyaoyao 看来得追踪下他们的代码调用了, 目前的 xpath 支持不是特别靠谱. 还得改进. 我倒是很想自己做一个完整的 xpath 支持.

#5 楼 @seveniruby xpath 调用逻辑 是哪个 java 文件里的

#2 楼 @seveniruby 顺便发现 'device'=>'selendroid',#selendroid Android 两种模式下 xpath 获取的方法有别

'device'=>'Android‘ 不支持@driver.find_element(:id,'btnSearchOnTitle') ????

分两步,先去找 HorizontalScrollView/LinerLayout 这个元素,然后在这个元素里再 find_elements 试下

#5 楼 @seveniruby 请问 'device'=>'selendroid 下不支持 xpath 么 同样的 xpath 在'device'=>'android 下就支持

#7 楼 @chuyaoyao 对的, xpath 的解析是现在 node 中解析为结构体, 然后分别发给 selendroid 和 uiautomator, 他们两个在各自解析的时候, 代码不一样. xpath 这块坑很多.

#11 楼 @seveniruby 原来是这样 ,那要是维护两套(selendroid、uiautomator)xpath,维护量太大了,请问有什么好的办法么

#12 楼 @chuyaoyao 也不是, 两套方案只要都支持 XPATH 标准就可以了. selendroid 不支持的事情, 需要追查下.有可能是它的 bug, 也可能是有其他的原因. 这两个方案是不同的组织在维护.

#6 楼 @lihuazhang 其实是 nodejs 先解析为一个 json 结构, 然后把结构传给 uiautomator 的封装, 代码在
https://github.com/appium/appium/blob/3448af6ee8e839c982a239613ee3b0c465357148/lib/xpath.js

https://github.com/appium/appium/blob/master/lib/devices/android/bootstrap/src/io/appium/android/bootstrap/Dynamic.java

https://github.com/appium/appium/blob/master/lib/devices/android/bootstrap/src/io/appium/android/bootstrap/AndroidElement.java

这种解析方式不太好, 主要是 uiautomator 的底层有自己的查询方法, 需要把 xpath 转换为它的查询语法. 我觉得可以换个方法去实现. 比如先遍历出来所有的元素, 保存为 xml, 然后通过 xpath 来确定对应的是哪个节点, 然后根据 xml 中的对应节点去找真正的节点. 不过这样实现的话, uiautomator 的速度又太差, 遍历需要花费很大的时间.

我记得知平软件那边有个 iquery 项目, 做到了 jquery 方式的查询支持, 用的是 antlr 语法解析器库

#13 楼 @seveniruby 现在我手里的机器都是 4.1 版本一下的,selendroid 不支持 xpath,有些控件没有 id,现在怎么办呢?要抛弃 appium,直接用 selendroid 么?

#15 楼 @chuyaoyao 4.1.2 版本的话, appium 是支持, 需要修改下他们的代码, 他们代码中限制了 api 为 17 以上, 其实 api16 也是支持的. 所以你可以不需要依赖 selendroid

#16 楼 @seveniruby appium +android 在定位元素的时候,只支持 name xpath tag name,这是三种,不支持 id 获取元素,用 xpath 复杂的 U 难于维护,tag name 只能定位一类控件,name 也不一定能完全定位控件

#17 楼 @chuyaoyao 4.3 以上的 android 是支持 id 定位的. 从官方的代码中, 还发现了 appium 打算支持 css. 不过我没没有在 4.3 上正式测试过. appium 的定位和 webdriver 类似, 如果你的元素复杂, 就得考虑 page object 模式了

#18 楼 @seveniruby 我是过 4.4 的机器,通过 id 好像不行,我已经采用 page object,但是问题在于要支持 4.1 一下版本的手机比如 2.3.5

#18 楼 @seveniruby 我想确认下,appium+selendroid 不支持 xpath ?有没有办法修复

#20 楼 @chuyaoyao 支持的。 但是现在 appium xpath 支持的不是很好。

#21 楼 @lihuazhang 这是上图的两句代码 不知哪里出了问题,请帮忙看一下
puts @driver.find_element(:class,'android.widget.HorizontalScrollView')
puts @driver.find_element(:xpath,'//ImageButton')

#23 楼 @lihuazhang @seveniruby 求助求助 ~~(>_<)~~

#20 楼 @chuyaoyao 这个只能 debug 了, 我们没有你的环境, 只能你自己去追踪下 api 了.
理论上是支持 xpath 的. 可能是其他的问题.
ps: 我最近在试验一个工具, 可以辅助使用 appium 的人定位问题, 不过暂时还得等

#24 楼 @chuyaoyao 解决了没? 什么原因

#26 楼 @seveniruby 搞不懂,求大神指点 用了最新的版本,输入更多的 log,大神有没有办法
debug: Proxied response received with status 200: {"value":{"ELEMENT":"ec10568b-
f524-2c4f-58de-964514253a27"},"status":0,"sessionId":"aace43be-4eae-42ad-a0af-ba
ca34d24b70"}
POST /wd/hub/session/aace43be-4eae-42ad-a0af-baca34d24b70/element 200 42ms - 144
b
info: [SELENDROID] find element command using 'class name' with selector 'androi
d.widget.HorizontalScrollView'.
debug: Appium request initiated at /wd/hub/session/aace43be-4eae-42ad-a0af-baca3
4d24b70/element
debug: Request received with params: {"using":"xpath","value":"//HorizontalScrol
lView"}
debug: Proxying command to localhost:8080
info: Making http request with opts: {"url":"http://localhost:8080/wd/hub/sessio
n/aace43be-4eae-42ad-a0af-baca34d24b70/element","method":"POST","json":{"using":
"xpath","value":"//HorizontalScrollView"}}
info: [SELENDROID] find element command using 'xpath' with selector '//Horizonta
lScrollView'.
info: [SELENDROID] Error occurred while handling request.
info: [SELENDROID ERR] PullToRefreshListView$InternalListView
info: [SELENDROID ERR] at org.apache.harmony.xml.dom.ElementImpl.(Element
Impl.java:68)
info: [SELENDROID ERR] at org.apache.harmony.xml.dom.DocumentImpl.createElement
(DocumentImpl.java:332)
info: [SELENDROID ERR] at org.apache.harmony.xml.dom.DocumentImpl.createElement
(DocumentImpl.java:49)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:65)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlNode(JsonXmlUtil.java:79)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.build
XmlDoc(JsonXmlUtil.java:43)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.JsonXmlUtil.toXml
(JsonXmlUtil.java:27)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.AbstractNativeEle
mentContext.findElementsByXPath(AbstractNativeElementContext.java:227)
info: [SELENDROID ERR] at io.selendroid.server.model.internal.AbstractNativeEle
mentContext.findElementByXPath(AbstractNativeElementContext.java:211)
debug: Proxied response received with status 500: undefined
POST /wd/hub/session/aace43be-4eae-42ad-a0af-baca34d24b70/element 500 501ms
info: [SELENDROID ERR] at io.selendroid.server.model.internal.AbstractNativeEle
mentContext.findElement(AbstractNativeElementContext.java:203)
info: [SELENDROID ERR] at io.selendroid.server.model.By$ByXPath.findElement(By.
java:231)
info: [SELENDROID ERR] at io.selendroid.server.model.DefaultSelendroidDriver.fi
ndElement(DefaultSelendroidDriver.java:111)
info: [SELENDROID ERR] at io.selendroid.server.handler.FindElement.handle(FindE
lement.java:46)
info: [SELENDROID ERR] at io.selendroid.server.AndroidServlet.handleRequest(And
roidServlet.java:236)
info: [SELENDROID ERR] at io.selendroid.server.BaseServlet.handleHttpRequest(Ba
seServlet.java:70)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at io.selendroid.server.inspector.InspectorServlet.handl
eHttpRequest(InspectorServlet.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at org.webbitserver.handler.PathMatchHandler.handleHttpR
equest(PathMatchHandler.java:33)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at org.webbitserver.handler.DateHeaderHandler.handleHttp
Request(DateHeaderHandler.java:21)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:62)
info: [SELENDROID ERR] at org.webbitserver.handler.ServerHeaderHandler.handleHt
tpRequest(ServerHeaderHandler.java:25)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:78)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpControl.nextHandler(N
ettyHttpControl.java:67)
info: [SELENDROID ERR] at org.webbitserver.netty.NettyHttpChannelHandler$2.run(
NettyHttpChannelHandler.java:72)
info: [SELENDROID ERR] at java.util.concurrent.ThreadPoolExecutor.runWorker(Thr
eadPoolExecutor.java:1088)
info: [SELENDROID ERR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Th
readPoolExecutor.java:581)
info: [SELENDROID ERR] at java.lang.Thread.run(Thread.java:1019)
info: [SELENDROID] replyWithServerError 500
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: [SELENDROID] System.currentTimeMillis() = 1393470145
info: Didn't get a new command in 60 secs, shutting down...
info: Shutting down appium session...
info: Stopping selendroid server
info: Making http request with opts: {"url":"http://localhost:8080/wd/hub/sessio
n/aace43be-4eae-42ad-a0af-baca34d24b70","method":"DELETE"}
info: [SELENDROID] delete session command
info: [SELENDROID] ---------Session STOP ---------------
debug: executing: "C:\Users\chuyaoyao\android-sdks\platform-tools\adb.exe" -s 30
4D09FE7029803F shell "am force-stop com.baidu.news"
info: Stopping logcat capture
debug: Logcat terminated with code null, signal SIGTERM
info: Cleaning up appium session
info: We shut down because no new commands came in
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.read(Plai
nSocketImpl.java:458)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.SocketInputStream.read(So
cketInputStream.java:85)
info: [SELENDROID ERR] at java.io.DataInputStream.read(DataInputStream.java:69)

info: [SELENDROID ERR] at gq.a(Unknown Source)
info: [SELENDROID ERR] at gv.run(Unknown Source)
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] no network is available!
info: [SELENDROID ERR] at com.tencent.news.push.PushService$HeartThread.initSoc
ket(PushService.java:711)
info: [SELENDROID ERR] at com.tencent.news.push.PushService$HeartThread.run(Pus
hService.java:955)
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.nio.internal.SocketChannelImpl.rea
dImpl(SocketChannelImpl.java:382)
info: [SELENDROID ERR] at org.apache.harmony.nio.internal.SocketChannelImpl.rea
d(SocketChannelImpl.java:304)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.a(Unknown Source)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.e(Unknown Source)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.d(Unknown Source)
info: [SELENDROID ERR] at com.netease.pris.push.a.c.run(Unknown Source)
info: [SELENDROID ERR] at java.lang.Thread.run(Thread.java:1019)
info: [SELENDROID] at org.apache.harmony.luni.platform.OSNetworkSystem.read
Direct(Native Method)
info: [SELENDROID] at dalvik.system.BlockGuard$WrappedNetworkSystem.readDir
ect(BlockGuard.java:278)
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.read(Plai
nSocketImpl.java:458)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.SocketInputStream.read(So
cketInputStream.java:85)
info: [SELENDROID ERR] at java.io.InputStreamReader.read(InputStreamReader.java
:255)
info: [SELENDROID ERR] at java.io.BufferedReader.read(BufferedReader.java:311)
info: [SELENDROID ERR] at org.jivesoftware.smack.b.read(AliveBufferedReader.jav
a:21)
info: [SELENDROID ERR] at org.jivesoftware.smack.f.b.read(ObservableReader.java
:42)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peek(KXmlParser.java:925)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:589)

info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:333)

info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
info: [SELENDROID ERR] at org.jivesoftware.smack.l.a(PacketReader.java:45)
info: [SELENDROID ERR] at org.jivesoftware.smack.l$1.run(PacketReader.java:72)
info: [SELENDROID ERR] Connection timed out
info: [SELENDROID ERR] at org.apache.harmony.luni.platform.OSNetworkSystem.read
(Native Method)
info: [SELENDROID ERR] at dalvik.system.BlockGuard$WrappedNetworkSystem.read(Bl
ockGuard.java:273)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.read(Plai
nSocketImpl.java:458)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.SocketInputStream.read(So
cketInputStream.java:85)
info: [SELENDROID ERR] at java.io.InputStreamReader.read(InputStreamReader.java
:255)
info: [SELENDROID ERR] at java.io.BufferedReader.read(BufferedReader.java:311)
info: [SELENDROID ERR] at org.jivesoftware.smack.b.read(AliveBufferedReader.jav
a:21)
info: [SELENDROID ERR] at org.jivesoftware.smack.f.b.read(ObservableReader.java
:42)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peek(KXmlParser.java:925)
info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:589)

info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:333)

info: [SELENDROID ERR] at org.kxml2.io.KXmlParser.next(KXmlParser.java:1378)
info: [SELENDROID ERR] at org.jivesoftware.smack.l.a(PacketReader.java:45)
info: [SELENDROID ERR] at org.jivesoftware.smack.l$1.run(PacketReader.java:72)
info: [SELENDROID ERR] Connection to http://10.0.0.172:80 refused
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:191)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPoolEntry.open(Abst
ractPoolEntry.java:164)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPooledConnAdapter.o
pen(AbstractPooledConnAdapter.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.client.DefaultRequestDirector.ex
ecute(DefaultRequestDirector.java:428)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:555)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:487)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:465)
info: [SELENDROID ERR] at com.baidu.location.g$1.run(Unknown Source)
info: [SELENDROID ERR] /10.0.0.172:80 - Network is unreachable
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:207)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:437)
info: [SELENDROID ERR] at java.net.Socket.connect(Socket.java:1002)
info: [SELENDROID ERR] at org.apache.http.conn.scheme.PlainSocketFactory.connec
tSocket(PlainSocketFactory.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:156)
info: [SELENDROID ERR] ... 7 more
info: [SELENDROID ERR] loc.map.baidu.com
info: [SELENDROID ERR] at java.net.InetAddress.lookupHostByName(InetAddress.jav
a:497)
info: [SELENDROID ERR] at java.net.InetAddress.getAllByNameImpl(InetAddress.jav
a:294)
info: [SELENDROID ERR] at java.net.InetAddress.getAllByName(InetAddress.java:25
6)
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:136)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPoolEntry.open(Abst
ractPoolEntry.java:164)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPooledConnAdapter.o
pen(AbstractPooledConnAdapter.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.client.DefaultRequestDirector.ex
ecute(DefaultRequestDirector.java:428)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:555)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:487)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:465)
info: [SELENDROID ERR] at com.baidu.location.g$1.run(Unknown Source)
info: [SELENDROID ERR] Connection to http://10.0.0.172:80 refused
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:191)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPoolEntry.open(Abst
ractPoolEntry.java:164)
info: [SELENDROID ERR] at org.apache.http.impl.conn.AbstractPooledConnAdapter.o
pen(AbstractPooledConnAdapter.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.client.DefaultRequestDirector.ex
ecute(DefaultRequestDirector.java:428)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:555)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:487)
info: [SELENDROID ERR] at org.apache.http.impl.client.AbstractHttpClient.execut
e(AbstractHttpClient.java:465)
info: [SELENDROID ERR] at com.baidu.location.g$1.run(Unknown Source)
info: [SELENDROID ERR] /10.0.0.172:80 - Network is unreachable
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:207)
info: [SELENDROID ERR] at org.apache.harmony.luni.net.PlainSocketImpl.connect(P
lainSocketImpl.java:437)
info: [SELENDROID ERR] at java.net.Socket.connect(Socket.java:1002)
info: [SELENDROID ERR] at org.apache.http.conn.scheme.PlainSocketFactory.connec
tSocket(PlainSocketFactory.java:119)
info: [SELENDROID ERR] at org.apache.http.impl.conn.DefaultClientConnectionOper
ator.openConnection(DefaultClientConnectionOperator.java:156)
info: [SELENDROID ERR] ... 7 more
info: [SELENDROID ERR] java.lang.InterruptedException
info: [SELENDROID ERR] at java.lang.VMThread.sleep(Native Method)
info: [SELENDROID ERR] at java.lang.Thread.sleep(Thread.java:1213)
info: [SELENDROID ERR] at java.lang.Thread.sleep(Thread.java:1195)
info: [SELENDROID ERR] at com.sec.android.app.FileTransferManager.FTSRunningChe
cker$EchoServerThread.run(FTSRunningChecker.java:62)
info: [SELENDROID ERR] at java.lang.Thread.run(Thread.java:1019)

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册