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的使用也一定要注意仔细阅读官方文档,按照步骤,正确的一步一步来,一般不会出现太大问题
Android 个推 踩坑小结的更多相关文章
- Android Studio安装踩坑
title: Android Studio安装踩坑 date: 2018-09-07 19:31:32 updated: tags: [Android,Android Studio,坑] descri ...
- React Native Android配置部署踩坑日记
万事开头难 作为一只进入ECMAScript世界不久的菜鸟,已经被React Native的名气惊到了,开源一周数万星勾起了我浓烈的兴趣.新年新气象,来个HellWorld压压惊吧^_^(故意少打个' ...
- Android 图片裁剪踩坑
今天做图库图片的裁剪遇到了不少坑,今天记录一下,以下坑位供各位看官参考: 如果有不对之处,欢迎各位看官留言评论! 图片裁剪踩坑锦囊: 问题一:相册裁剪权限问题 解:这个简单,对于Android6. ...
- 2017-6-14 踩坑小结(Android文件读写 相关问题)
填坑 getSlotFromBufferLocked: unknown buffer: 0xab7115e0 1. 在棉花糖(6.0)上莫名出现 未知缓冲 错误,百度了一下,貌似这个是Android6 ...
- Android WebView 文明踩坑之路
情景一 webview 以头布局的形式添加到 RecyclerView 中,第一次进入页面,当页面中有 EditText 并且点击时,甚至是类似点赞更换图片.点击 WebView 任意区域,都会造成 ...
- windows 下 react-native(v0.56) Android 环境搭建踩坑记录
debugservicereact-native 安装官网 https://reactnative.cn/docs/getting-started.html 根据官网步骤一步步执行下去.还能碰到一些问 ...
- 【Android】【踩坑日记】解决Error:SSL peer shut down incorrectly
前提条件 http://services.gradle.org/distributions/ 复制到浏览浏览器能打开 下一步 打开Android studiogradle version 配置文件进行 ...
- ASP.NET MVC升级到ASP.NET Core MVC踩坑小结
写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大 ...
- Android 之 ToolBar 踩坑笔记
写在前面 •前言 这两天,学完了 Fragment 的基础知识,正准备跟着<第一行代码>学习制作一个简易版的新闻应用: 嘀嘀嘀~~~ 一声消息传来,像往常一样,打开 QQ,当我看到 QQ ...
随机推荐
- C# 基础之类型(一)
一.类型 类型总共分为两种,一种是值类型(Value Type),如枚举.结构:另一种是引用类型(Reference Type),如类.接口.委托等. 值类型 1,值类型通常分配在线程的堆栈上 2,作 ...
- 前端工程化grunt
1.grunt是什么? grunt是基于nodejs的前端构建工具.grunt用于解决前端开发的工程问题. 2.安装nodejs Grunt和所有grunt插件都是基于nodejs来运行的. 安装了n ...
- 整理一批 国内外优秀设计团队 & 设计相关网站
设计做不好,因为看得少!这里精心整理了一批国内外优秀设计团队的官网,以及同设计相关的网站.每个网站,我都浏览了一下,确保里面真的是有干货,并且保持一定的频率正常更新. [腾讯] 腾讯社交用户体验设计 ...
- java如何调用接口方式二
java如何调用接口 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对 ...
- 从零自学Hadoop(25):Impala相关操作下
阅读目录 序 导入数据 查询 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一 ...
- canvas绘制太阳系
原文地址:http://jeffzhong.space/2017/10/26/solar/ 学习canvas有一段时间了,顺便写个小项目练手,该项目用到的知识点包括: ES6面向对象 基本的三角函数 ...
- 网页单位和rem小分享
有哪些网页尺寸单位? CSS 中的单位有很多种: 百分比(%) 英寸(in) 厘米(cm) 毫米(mm) 磅数(pt) 12 点活字(pc) 字母高度一半(ex) 父级字体(em) 像素(px) 根元 ...
- LeetCode 643. Maximum Average Subarray I (最大平均值子数组之一)
Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...
- ubuntu 常用软件安装
安装ubuntu远程图形界面 sudo apt-get install xrdp (sudo apt-get install .. 用于安装软件的命令 ) sudo apt-get install ...
- Leetcode题解(20)
59. Spiral Matrix II 题目 这道题copy网上的代码 class Solution { private: ][]; ][]; public: void dfs(int dep, v ...