Android CTS Geocode测试Unable to parse response f...

问题:
java.io.IOException: Unable to parse response from server at android.location.Geocoder.getFromLocation(Geocoder.java:136)

 首先,这个不是必现的
12-26 11:48:38.030  4457  4469 I TestRunner: passed: testGetFromLocation(android.location.cts.GeocoderTest)
12-26 11:48:38.205  4457  4469 I TestRunner: passed: testGetFromLocationName(android.location.cts.GeocoderTest)

12-26 11:51:03.520  5726  5738 I TestRunner: failed: testGetFromLocation(android.location.cts.GeocoderTest)
12-26 11:51:08.555  5726  5738 I TestRunner: failed: testGetFromLocationName(android.location.cts.GeocoderTest)

一次成功一次失败。

分析TCP网络数据包发现,
11:48:38及之前,数据包来回正常;
11:48:58之后,只有数据发送、没有数据应答,且出现连续Retransmission重发。如附图
Android CTS Geocode测试Unable to parse response f..._第1张图片
其中
10.5.27.84是手机本端,74.125.128.104是服务端——谷歌的GEOCODE服务器。

这个的原因可能是当时网络异常(没有送达服务器、或者服务器的ACK不能返回到手机),或者服务器异常(服务器不响应请求)。

推测,后者的可能性比较大。原因是服务器端不认为第一次请求连接结束了,所以不响应第二次GEOCODE服务请求,需要手机端主动断开结束或者等待一段时间服务器端超时自动结束。

这个项服务在谷歌就是这么设计的,不要短时间连续测试GEOCODE就不会有这个问题。
个人认为可以关闭。

你可能感兴趣的:(TO,android,server,response,parse,location,from,geocode,cts,Unable)