Android OTA 的功能实现和修改


Android OTA空中升级的文档不少。但是多是介绍原理的和分析代码的。原理我就不说了。这里记录一下我在项目中实现的工作,和问题总结。

工作流程:

 

 

update.xml文件放在服务器上,当客户端请求的参数正确时,返回相应的信息。

update.xml的内容,根据需要可以添加;Md5需要校验下载后包的完整性。updatepath为实际的下载地址

至少需要如下字段:

<ver>android3.2</ver>

<md5>xxx</md5>

<updatepath>http://xxxx/update.zip</updatepath>

下面是我们工作用到的一个配置文件。

 

  1. <firmwareupdate xsi:noNamespaceSchemaLocation="firmware.xsd"> 
  2. − 
  3. <firmware> 
  4. <num>1</num> 
  5. <name>firmware name </name> 
  6. <desc_cn>简体中文描述</desc_cn> 
  7. <desc_tw>繁體中文描述</desc_tw> 
  8. <desc_en>firmware release Description</desc_en> 
  9. <md5>c61ce360a734c018685fbf5e1662c0fd</md5> 
  10. <size>16787</size> 
  11. <level>3</level> 
  12. <needbackup>1</needbackup> 
  13. <downloadurl>http://123.123.123.123/firmware/update.zip</downloadurl> 
  14. </firmware> 
  15. </firmwareupdate> 

下载方法可以自己用socket,3.2版本后也可以用downloadmanager,用downloadmanager支持断点续传。

下载后一定要放在/sdcard/update.zip 文件。

OTA的功能实现可以单独做一个APK,也可以作为一个service放入系统中。

相关内容