首先看一个文件manifest文件.
我们可以很清楚的看到versionCode和versionName,我们一般用versionCode来实现,
实现原理很简单:服务器端有个serverVersion,我们本地有个localVersion.服务器端serverVersion>localVersion,这个时候我们就需要进行升级版本.原理大致就是这样。具体实现请看下面.
我们一般把全局的东西放到application里面
我们在运行应用的时候要checkVersion();进行检查版本是否要进行升级.
最主要的是UpdateService服务类,
创建路径及文件,这里就不介绍了,不明白了下载源码看.
首先我们先 看createNotification().这个方法:
上面实现的也不难理解.(主要是初始化Notification,用于提醒用户开始下载)
接着我们要看createThread方法
这个方法有点小多,不过我想大家都看的明白,我在这里简单说名一下:首先我们创建一个handler用于检测最后下载ok还是not ok.
下面我们开启了线程进行下载数据。
我们接着看downloadUpdateFile这个方法:
注释已经写的很详细,相信大家都看的明白,如果哪里有不足的地方,请留您吉言指出.
这里我用别的app代替了,简单省事,正常的话,你要对你的APP进行数字签名.然后才可以进行升级应用.
示意图:

提示有新版 开始升级 升级下载中 下载完毕,点击安装