U8SDK——渠道SDK的动态升级(实现)

作者: 分类: U8SDK 发布时间: 2015-06-19 16:28 67条评论

上次我们已经在每个SDK的配置目录下的config.xml中,增加了一个version节点,来配置当前SDK使用的版本。其中versionCode,就是用来做渠道SDK动态更新使用的。本节,我们就来基于这个versionCode实现渠道SDK的更新机制。根据上一篇我们说的思路,为了做到动态更新机制,我们需要做两部分工作。第一:打包工具可以生成一份当前最新的渠道SDK版本更新控制文件,同时将所有需要更新的渠道SDK生成一个zip文件。第二:打包工具需要有更新渠道SDK的机制,我们需要去访问一个服务器地址,然后获取到服务器上的版本更新控制文件,然后比对本地的版本控制文件和远程上的版本控制文件,找到当前需要更新的渠道SDK信息,然后下载服务器上需要更新的渠道SDK的zip文件,下载完成之后,解压,并覆盖到本地的渠道SDK配置目录下。对于第一步,我们增加一个脚本(generate_sdk_update.py:)来完成渠道SDK更新文件的生成,直接上代码,看代码以及注释:

对于第二步,我们增加一个脚本(check_update.py:)来检查渠道SDK的更新,以及下载等操作,同样,直接上代码,看代码和注释:

这样,你在config/local/local.properites文件中配置一个更新地址,比如:sdk_update_url=http://192.168.3.32/sdk_update/
然后每次,SDK接入小伙伴接好一些SDK并测试通过之后,就可以使用generate_sdk_update.py生成更新的渠道SDK,生成的更新文件在updates目录下
将updates目录下所有的文件拷贝到刚刚配置的服务器上即可。

这样运营或者其他负责打包的小伙伴,在打包工具运行的时候,先调用check_sdk_update.py去检查当前是否有渠道SDK需要更新,如果有,自动更新即可。

这样,以后渠道SDK的接入和打包就可以很好的分开操作啦。当然,不采用这种方式,也可以采用之前@暖暖同学说的,远程打包处理。

如果,觉得u8sdk里的文章对你有用,可以看看我们提供的增值服务哦,感谢您对u8sdk的支持,我们会一直坚持技术开源,并分享一切u8sdk的实现原理。

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=1819

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入