App自动更新的步骤可分为三步:
- 检查更新(如果有更新进行第2步,否则返回)
- 下载新版的APK安装包
- 安装APK
下面对这三步进行解释,其中会穿插相应代码,App自动更新的这三步全部被封装到了一个单独的Updater类中,可以直接拿来使用,我会在文章最后贴出源码github地址。
Updater 使用示例
通过单一的类Updater
可以方便的实现自动检查更新、下载安装包和自动安装,可以监听下载进度,可以自定义更新提示等。保存路径可以自由书写,如果路径中某个目录不存在会自动创建,流式API接口易于使用。下面是使用示例,一行代码搞定自动更新:
String savePath = Environment.getExternalStorageDirectory()
+ "/whinc/download/whinc.apk";
String updateUrl = "http://192.168.1.168:8000/update.xml";
Updater.with(mContext)
.downloadListener(mListener)
.update(updateUrl)
.save(savePath)
.create()
.checkUpdate();
第一步:检查更新
这一步需要服务端的配合,服务端存放一个XML格式的配置文件(也可以用JSON或其他格式)提供给客户端检查更新,update.xml 格式如下:
<?xml version="1.0" encoding="utf-8"?>
<info>
<version>
<code>4</code>
<name>1.0.4</name>
</version>
<url>http://192.168.1.168:8000/test.apk</url>
<description>更新 - 吧啦吧啦;修复 - 吧啦吧啦;增加 - 巴拉巴拉巴</description>
</info>
<version>
标签指定服务端的版本号和版本名称,该版本号和版本名称对应Android项目配置里的versionCode
和versionName
(Eclipse ADT项目可在 AndroidManifest.xml中的标签中找到,Android Studio项目在module的build.gradle中的defaultConfig中找到)。<url>
标签指定APK的下载地址,