关于ota升级查找不到更新包的原因分析

    首先此类问题要回溯一下在此之前是否有类似的问题出现,或者查找具有参参考价值的资料,如果没有,就需要了解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地址复制到浏览器的地址栏上,回车就可以看到请求的结果,如果请求失败,如下:

COOLPAD_OTA CHECK_UPDATE_RESULT:1 
了解客户端服务器交互流程的朋友应该清楚,服务器接收到客户端请求时会获取到请求的参数,通过对参数的check来相应客户端。举例来说:服务器一般会对以下参数进行check:

1.hw//手机型号

2.hwv//硬件版本

3.swv//软件版本

4.如果当前手机的imei在测试列表中,那么会使用测试状态的版本,也就是说如果imei好在测试列表中的话,就会允许升级。

我们要保证这些请求参数的正确。

Android OTA(Over-the-Air)代码是指用于进行系统升级和更新的代码。OTA升级是指利用无线通信网络对Android系统进行在线升级和更新,不需要连接到电脑上通过USB进行升级OTA代码的功能主要有两个方面:一是判断是否有新版本可用,二是进行升级和更新操作。 首先,OTA代码需要实现检测新版本的功能。它通过与服务器建立通信,获取最新的版本信息。根据设备信息和当前的系统版本,OTA代码可以向服务器发送请求,查询是否有新版本的可用。服务器会返回包含最新版本信息的XML或JSON格式数据。这些数据中包括了更新的内容、升级的步骤以及升级包的下载链接。 其次,OTA代码需要实现升级和更新的功能。一旦发现有新版本可用,OTA代码会下载升级包,并进行升级操作。升级包通常是一个压缩文件,其中包含了新版本的系统文件和相关的更新配置文件。OTA代码会解压升级包,将其中的系统文件替换现有的系统文件,更新系统的功能或修复已知的问题。在升级的过程中,OTA代码还需要处理系统的备份和恢复、应用程序的兼容性测试等问题,以确保升级过程的顺利进行。 总结来说,Android OTA代码是实现系统在线升级和更新的一套功能的代码。通过与服务器的通信,OTA代码可以检测并获取最新的系统版本信息,然后进行升级的操作。这样,用户可以在无需连接电脑的情况下,通过无线通信网络来方便地更新和升级自己的Android系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高桐@BILL

分享快乐,快乐分享...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值