全志A20平台--OTA升级平台搭建笔记

以差分包升级为例(完整包升级方法类似),要完成一个差分包的在线升级必备条件有:

1.安卓apk工具支持

2.差分包制作

3.服务器搭建

4.ota 环境配置

平台:A20/Android4.2.2

第一步:对于支持ota功能的版本,要有以下apk

1.update.apk

2.DownloadProvider.apk

3.DownloadProviderUi.apk(不确定需要不需要这个,应该不需要ui也可以,可以试试不要这个)

  第二步:差分包准备

差分包制作需要两个target_files_package(zip 包),即版本信息包,这并不是完整包,只是记录了当前版本的信息。

1.make-j8 

2.get_uboot

3.maketarget-files-package(当前版本的target_files_package包)

4.备份out/target/product/crane-xxx/obj/PACKAGING/target_files_intermediates/目录下的*.zip包

5.备份当前版本固件

6.将当前版本的target_files_package拷贝到android根目录下,命名为old_target_files.zip(必须为这个名字,因为制作差分包的命令脚本中写死了这个名字,也可以自行修改)

7.在当前版本基础上做出改变(升级),make -j8,重复1-5

8.makeotapackage_inc生成差分包,路径为out\target\product\crane-XXX\crane_XXX-ota-XXXXXXXX-inc.zip

9.将生成的差分包做好备份,因为下次编译源码会删除已存在的差分包文件

第三步:服务器搭建

前提:安装了java的windos平台

1. 在tomcat官网下载适合宿主机的压缩包,解压缩

2. 配置环境变量 TOMCAT_HOME和CATALINA_HOME 变量值均为安装路径

3. 进入安装目录下的bin目录,点击startup.bat

出现如下图结果证明环境变量设置成功

 

 

 

 

4. 打开浏览器输入http://localhost:8080,若能进入tomcat欢迎页如下图,则tomcat搭建成功

 

 

5. 将tomcat配置为系统为服务,并设置为自启。打开cmd.exe,进入安装目录下的bin目录,运行命令service.batinstall 设置为系统服务。点击tomcat7w.exe或系统服务列表中的tomcat服务设置为自动。

6. 可是试着开机重启一下再打开浏览器测试服务器是否配置成功。

7. (可选)进入tomcat配置目录conf,在server.xml中可将服务端口由8080改为80.

8. 将全志给的服务器端update文件夹拷贝到服务器默认根目录webapp/下

9. 可以在浏览器下输入http://192.168.1.1/update/form.jsp测试是否可以打开如下配置界面,192.168.1.1改成你配置的服务器地址,有必要的话地址加端口。

 

 

第四步:OTA服务器端升级环境配置

1.         正式发布之前先以debug用户配置环境。打开parameter.conf文件修改为自己的配置,该文件是用来跟客户端发来的post请求信息匹配的,里面的参数可以增删,只要配置文件里的所有参数能与客户端发来的post请求信息匹配,才会进行下一步动作。否则将不能解析服务器上是否有对应版本的升级包。

2.         parameter.conf匹配成功后服务器端会去解析debug.conf(如果用户是非debug用户,将会解析update.conf),所以要更新debug.conf文件中的版本号信息以及xml文件的链接地址


    等号左边为版本信息,这个一定要跟客户端的当前版本信息匹配。等号右边为差分包配置文件*.xml文件链接地址。

3.进入xml文件夹,维护debug(正式发布时直接维护update文件夹)文件夹。文件内容如下:

 

 

需要维护的内容:

a. 版本号

b. 差分包访问地址

c. 升级日志(描述信息)

d. Md5值(该值由全志提供的UpdateTools.jar工具生成,也可自行在网上下载一个md5信息提取工具试试

4. 差分包放在对应的路径下,至此服务器端配置完成

 

第五步:OTA客户端升级环境配置

1.   打开客户端apk源码目录下的Utils.java文件


    维护服务器地址(需在服务器路径前多加一个update路径才能解析),修改DEBUG = true;

2.客户端主要就是维护apk中的以上两个部分。

 

 

补充:

    服务器与客户端之间的匹配信息都是从当前版本的buid.prop文件提取出来的,比如:

android版本信息ro.build.version.release”获得

固件版本 (firmware)   ro.product.firmware”获得

厂商名称 (brand)  ro.product.brand”获得

机型(device)“ro.product.device”获得

电路板类型(board) ro.product.board”获得


 



  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值