联系人同步问题:日志中的HTTP错误500

90次阅读
没有评论

问题描述

遇到了联系人同步问题,正在尝试找出服务器上正在执行的HTTP请求。问题出现的原因是他正在解决联系人同步的问题。
用户在尝试同步GMail联系人到他的Android手机(Galaxy SIII)时遇到了问题。最后一次同步的日期已经超过一个月了,并且在同步设置屏幕上旋转的两个箭头是静止的,并且永久显示着。
然而,联系人数据似乎在手机和GMail服务器之间进行了同步:在其中一个中创建的新联系人会出现在另一个中,并且在一侧进行的修改随后会同步回另一侧。
如果用户按下“取消同步”,他以前会收到一个提示(我认为消息是“同步当前正在遇到问题。稍后会恢复。”)。但是现在按下“取消同步”后什么都不会发生。
删除手机中的所有Google联系人数据,然后重新同步不是一个选择,有两个原因:
1. 如果问题出现在服务器上的联系人身上,那么它不会解决问题。
2. 我不想冒丢失我在手机上添加但尚未发送到服务器的数据的风险。
用户打开了开发者模式以获取ADB日志;以下一行似乎是最相关的(重复了8次):

D/ContactsSyncAdapter( 2964): IOException: java.io.IOException: received unhandled http error: 500

然后是

D/SyncManager( 2257): failed sync operation , SyncResult: stats [ numIoExceptions: 8]

我认为有8个联系人无法同步,但我无法真正找出是哪些联系人。找到以500错误结束的HTTP请求可能会揭示哪些联系人可能有问题或提供更多故障排除线索。
我想避免对我的手机进行root,但我有一个完整的Android SDK和源代码环境。我尝试使用DDMS,但无法使其显示是否/哪些请求被发送到服务器。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

要查看服务器上正在执行的HTTP请求以及解决联系人同步问题,可以尝试使用Android SDK中的网络监视工具。
这个工具可以捕获并显示设备上发送和接收的所有网络流量,包括HTTP请求和响应。通过分析这些流量,可以确定是否有错误的HTTP请求以及它们的详细信息。
以下是在Android设备上使用网络监视工具的步骤:
1. 确保您的Android设备已连接到计算机,并已配置为使用Android SDK。
2. 打开Android设备上的开发者选项,并启用USB调试。
3. 在计算机上打开Android SDK,并打开包含网络监视工具的调试工具。
4. 在网络监视工具中启动捕获网络流量的会话。
5. 在Android设备上触发联系人同步操作。
6. 分析捕获的网络流量,查找与HTTP错误500相关的请求,以确定可能导致同步问题的原因。
通过这种方式,您可以更轻松地识别出哪些联系人可能导致同步问题,并采取相应的措施来解决它们。

方案2

如果问题仍然存在,请考虑联系Google支持团队以获取更多帮助。
如果通过网络监视工具无法解决问题,或者无法确定造成同步问题的具体原因,那么建议您联系Google支持团队寻求更多帮助和指导。他们可能会提供进一步的诊断工具或指导您执行其他可能解决问题的步骤。

正文完