关于ota升级查找不到更新包的原因分析
来源:互联网 发布:nginx 访问报404 编辑:程序博客网 时间:2024/05/17 07:06
首先此类问题要回溯一下在此之前是否有类似的问题出现,或者查找具有参参考价值的资料,如果没有,就需要了解ota升级客户端与服务器交互的流程,以便于查找问题出现的根源。
总的来说我遇到过3例类似的问题,一次ota服务器是客户的,两次是自研的ota服务器。但问题都是一样,SPM或这发布版本的同事手误,因为某个字符串的错误导致客户端与服务器交互的时候查找不到更新包。
我的分析流程大致如下,读者可以参考一下:
首先如果有源码的话首当其冲要先了解重点操作流程的方法调用原理并记录或者打印关键log以便于调试的时候查看log。在Android下搜索下面关键字如result、url,因为客户端向服务器请求的时候最终是一个uri地址,而这个uri中也一定封装了请求服务器的关键参数,如果由于请求方式的原因我们无法查看到请求的url那么也要找到关键的参数。下面是我解决其中一个问题的时候所看到的uri作为读者的参考,如下:
01-01 18:05:27.199: I/SysUpdate(3700): server url is:http://xxx.xxx.xxx.xxx/otatest/checkupdate?hw=TitaniumS360&hwv=H201&swv=SW_S93951B1_V004_M10_karbonn_S360_USR_MP&serialno=125898944895661&bdt=201501200856&cust=karbonn&kernel=4.4.2&maf=Karbonn&board=S360&lang=en&net=wifi&oprator=null&smsc=11111111111&aid=ed0d5dffc1130724&seri=A6F6SO9DT8RGAQVW&imsi=null
从以上的log中我们可以很清楚的看到客户端与服务器交互的内容,一些简单的服务器,我们可以直接把上面的url地址复制到浏览器的地址栏上,回车就可以看到请求的结果,如果请求失败,如下:
了解客户端服务器交互流程的朋友应该清楚,服务器接收到客户端请求时会获取到请求的参数,通过对参数的check来相应客户端。举例来说:服务器一般会对以下参数进行check:COOLPAD_OTA CHECK_UPDATE_RESULT:1
1.hw//手机型号2.hwv//硬件版本3.swv//软件版本4.如果当前手机的imei在测试列表中,那么会使用测试状态的版本,也就是说如果imei好在测试列表中的话,就会允许升级。
- 关于ota升级查找不到更新包的原因分析
- [OTA] 系统加密后Recovery是如何读取OTA升级包的---Andorid 6.0 M 的更新
- OTA 差分升级包的制作
- android ota 升级包制作分析 (2 包结构)
- OTA升级包制作
- Android OTA升级原理和流程分析(一)--update.zip包的制作
- Android OTA升级原理和流程分析(一)--update.zip包的制作
- Android OTA升级原理和流程分析(一)--update.zip包的制作
- Android OTA升级原理和流程分析(一)--update.zip包的制作
- 切合OTA升级的版本升级包自动生成脚本
- OTA升级包的解释和升级方法
- android ota 升级包制作分析 (1 简介)
- android ota 升级包制作分析 (3 打包流程)
- android ota 升级包制作分析 (4 设计细节)
- android ota 升级包制作分析 (5 工具)
- OTA升级包制作工具处理过程分析
- OTA更新包内部
- 关于OTA升级从高版本到低版本升级后,数据库无法降级引起的异常分析
- NSBundle
- 20150202 N1
- android 布局分类及属性
- CSS Border使用小分享
- 保留小数点的四种方法
- 关于ota升级查找不到更新包的原因分析
- C++中const成员函数和非const成员函数的重载
- IOS7 UITableView一行滑动删除后 被删除行的下一行的点击事件将被忽略解决办法
- OsgEarth 字体及一些的参数特征应用
- 码农生涯杂记
- 随手记录
- Runnable和Thread实现多线程的区别(含代码)
- Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例
- Java程序性能优化Tip