美文网首页
关于Google Service不可用的排查问题总结

关于Google Service不可用的排查问题总结

作者: 二少2017 | 来源:发表于2019-03-25 14:13 被阅读0次

    1. 背景:

    同事在小米手机上使用Google Service 进行定位和获取POI时,调用方法执行后,未获取到任何回调,无成功无失败。

    2.排查:

    用该小米手机连上USB,未能识别,遂放弃该手机联调。

    乃用HUAWEI Nova来调试,因为nova也定位不到。(但是,nova是有任务结束回调的)

    提出猜想:

    A.Google服务不可用

    通过调用GoogleApiAvailability,得到结果result = SUCCESS,即可用。怀疑该API的使用价值。

    B.Google服务可用,但是接口调不通。

    未找到判断某个接口可用的判断方法。

    C.还是缺少某个服务组件。

    无法判断是哪个。

    D.Google服务框架版本不对

    参考HUAWEI Mate 10,安装了Google服务框架,经测试问题没有改变。

    以上思路,无法解决问题,卡住了。

    这个时候,新的一周,新的思路:

    同事自己连上小米手机,通过GoogleApiAvailability调用,得到result = INVALID,即不可用。那么也就是说,官方Serivce API的使用价值无需怀疑。可得,nova的Google Service确实可用。那么为什么调不通呢?根据小米和nova的不同反馈,推出猜想:

    nova的错误和小米不一样,nova有另外的错误。

    排查查看logcat,发现了错误,网上搜查,怀疑是Google Service版本与系统不兼容,内部出现了错误。即Google Service进程有问题。

    验证:将应用中的Google Service相关一律卸载,再次调用GoogleApiAvailability判断是否可用,返回INVALID,即不可用。证明上面推断。

    3.解决方案:

    考虑的国外默认Google服务可用且版本正确,在方法执行时,事先判断GoogleApiAvailability是否可用。

    4.总结

    在解决该问题时,犯了许多错误,致使花费时间较长,大概两三天,如果方向正确的话,根本不需要这么久时间,一天足够了。错误如下:

    1.怀疑GoogleApiAvailability的可用性,不该不该。

    2.未对错误手机小米和nova进行对比分析,致使变量较多,只能乱猜乱试。

    3.未对nova的异常情况认真分析,对nova的错误未重视,把nova的错误等同为小米的错误。

    4.只考虑到更换google服务框架,未考虑到完全卸载的场景。

    5.未对小米手机进行调试,也就是没有对病人进行针对性检查,却换了一个相似的病人进行排查,却不曾想,两者表象相同,但实际问题并不一样。实乃庸医。

    无数事实证明,解决问题的思路很重要。谨记!

    相关文章

      网友评论

          本文标题:关于Google Service不可用的排查问题总结

          本文链接:https://www.haomeiwen.com/subject/muhvvqtx.html