timg.jpeg
OTA,Over-the-Air的简写,OTA升级就是通过GPRS、3G、无线网络下载升级补丁升级,不用通过有线连接来升级。Android的应用或者是整个系统,都可以通过OTA的方式进行版本的更新升级。
OTA具体原理自行google,或者参考这篇文章。本文和接下来的两篇文章主要介绍的是具体的实现过程。
OTA升级大致过程
设备向服务器进行版本更新检测请求
服务器将更新信息返回到设备端
设备通过返回信息下载指定的更新文件
下载完成后设备安装升级
Android单个应用和整个系统的升级方式存在差异,接下来两篇文章会分别介绍实现。
本文重点实现升级过程中的第二步,搭建一个服务器Demo,以方便后续的测试工作。服务器用的nodejs,使用较为简单,没接触过的也可以跟着下面的步骤将服务器搭建在本地运行起来。
OTA服务器搭建
安装nodejs
用的是Mac系统,安装命令
brew install node
查看是否安装完成
$ node -v
v6.2.0
npm 是专门管理nodejs包的工具,用来方便地安装第三方模块,安装nodejs时应该也默认同时安装了npm,可以命令查看
$ npm -v
3.8.9
运行
安装完成后,先实现个简单的Demo,只需简单几行代码便可在本地运行起一个服务器。
先创建一个文件夹 Server,在文件夹充创建文件 SimpleServer.js
用文本编辑工具打开SimpleServer.js,代码实现:
var http = require('http');
var server = http.createServer(function(req, res) {
res.end('Hello!');
}).listen(3001);
console.log('Server listening at port: 3001');
然后打开命令行工具,cd 到 Server 目录下,敲入命令运行服务器:
node SimpleServer.js
命令行打印输出:
Server listening at port: 3001
此时服务器开始监听来自本地端口3001的请求。
打开浏览器,地址栏输入 Hello!。即一个最简单的服务器。
Express框架
上边实现的服务器对任何请求都返回Hello!文本,现实中服务器当然没那么简单。OTA服务器在接到请求时需