• Android 个推 踩坑小结


    公司一个项目之前在手机上一直可以正常运行,后来在平板上运行了一下,在欢迎页面卡出了,一直没有反应。

    于是我就将项目在电脑上用Android Studio往平板上运行了一遍,看了下打印的Log日志,发现clientid(cid)一直获取为空

    因此暂将问题定位到该位置,发现这里有一个条件为true的while循环,里面不断获取cid,直到不为空才跳出

    所以难怪总是卡在欢迎页面没有反应!

    继续看下去,cid是个推用来获取手机、平板等设备的一个唯一标识,登录的时候需要作为参数传递,这也是为什么前面要不断获取cid的原因了

    但为什么为空呢???

    各种查阅,并没有解决问题,后来迫不得已,咨询了一下个推的技术支持

    1.首先确定了不是网络问题,

    2.因为手机可以正常运行,所以可以确定集成是没有问题的,

    3.然后将多余的cpu架构删除了,so库取最小

    这样还是没能解决问题,后来技术支持说maven快速集成的只要在Manifest中加入自定义的Service和IntentService就可以了,

    我又查阅了一下代码,发现并没有这两个自定义Service,于是又在个推官网仔细看了一遍文档,发现只有GTSDK2.9.5.0才有自定义Service,

    将问题反馈给了技术支持,得知是因为项目目前使用的sdk版本过老,因为之前查阅资料也有看到过此回答,之前代码也不是自己写的,所以不想去更新现有sdk版本,怕后续会有隐患

    技术支持也给出了合理的解释:

    1.为了让推送服务在部分主流机型上更稳定运行,建议升级 最新版的sdk,老版本可能会导致在一些设备上获取不到cid

    2.老版本存在一些历史bug,不能保证可以成功获取到cid

    听到这,这才决定还是更新一下试试,当然更新前将代码用git提交了一下,以防万一......

    然后依据官方文档进行了更新,其实更新并没有想象中那么可怕,而且文档中也有需要修改的具体位置,很快就成功了!!!

    接下来,在另一个同样使用个推的项目运行到平板也出现了该情况......

    于是乎,第一步在gradle中添加最新个推依赖就出现了问题

    报错如下:

    Failed to resolve:com.getui:sdk:2.9.5.0

    同样的排除了网络原因,然后各种sync也没有用,最后还是想到了技术支持...

    问题定位:直接问了我是否使用了什么网络代理

    然而我用的Ubuntu,虽然下有lantern,但并没有打开啊...

    然后将maven上的地址试了一下,也可以正常打开

    后来,技术支持说Android Studio工程中所有.properties文件检查一遍,带有proxy的行全部去掉

    于是我挨个排查了一遍,发现有个配置文件中加入了下面代码

    systemProp.http.proxyHost=127.0.0.1

    systemProp.http.proxyPort=8087

    为什么前一个项目没有问题呢,于是又回头看了一下前一个项目的配置文件,发现并没有使用本机的,而是公司的一个host,苦恼...于是将这两行注释掉了,之后万事大吉!

    我前面也认为我的系统没有使用任何代理,

    于是又去请教了我的导师,让我在命令行输入echo $http_proxy查看系统是否使用了代理

    果不其然,被篡改了!!!

    导师告诉我lantern会修改系统的代理,在lantern的设置里关掉就可以了,修改完毕,心里美滋滋...

    最后再说一句关于个推的,如果最新版有cid为空的时候,看下IntentService的初始化方法走了没有,在解决问题过程中,自己也有不小心传错Service的时候...尴尬

    还有就是个推的技术支持真的很有耐心,很强!很佩服,在使用第三方sdk的使用也一定要注意仔细阅读官方文档,按照步骤,正确的一步一步来,一般不会出现太大问题

  • 相关阅读:
    你知道怎么离线安装全局 node 模块吗?
    关于开发视图
    你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?
    前端 JavaScript 实现一个简易计算器
    Docker 系列 _ 01_ 一念缘起
    机器学习资料大全
    pdf、txt文本复制到EXCEL后的格式快速调整法
    习惯的养成
    磁盘剩余空间监控
    please wait while windows configures microsoft visual studio professional 2013
  • 原文地址:https://www.cnblogs.com/cxsy/p/7911668.html
Copyright © 2020-2023  润新知