Android实现APP在线下载更新
本文作者
作者:Teprinciple
链接:http://www.jianshu.com/p/c089e222f820
本文由作者授权推送。
项目地址:
https://github.com/teprinciple/UpdateAppDemo
现在的android应用app会隔一段时间发布一个新的版本,当你打开某个app,如果有最新的版本,会提醒你是否下载更新。本文利用android自带的下载管理器DownloadManager进行下载最新版本的apk,下载完成后自动跳转安装。
效果如下:

通过获取当前app版本号与服务器上的版本号进行对比,如果本地的版本号低于服务器版本号,则弹出提示框:发现新版本,是否下载更新。

通过Android自带的DownloadManager下载管理器,下载服务器上最新版的apk。下载完成后会发送下载完成的广播。

注意添加权限:
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
通过广播接收者,接收到下载完成后发出的广播,跳转到系统的安装界面,进行安装。

注意需要在AndroidMainfest.xml中注册receiver:

** 通过上面三步就可以快速实现APP的在线更新 。**
项目地址:
https://github.com/teprinciple/UpdateAppDemo
更新改进说明
本项目进行了比较大的改进。主要改进之处:
1、将以前的Library发布到Jcenter,更方便集成
dependencies {
compile 'com.teprinciple:updateapputils:1.1'
}
2、新增更新判断方式以及apk下载方式
3、简化API使用
UpdateAppUtils.from(this)
.serverVersionCode(2) //服务器versionCode
.serverVersionName("2.0") //服务器versionName
.apkPath(apkPath) //最新apk下载地址
.update();
小tip:
如果担心DownloadManager被系统阉割,可以自己实现下载模块,这里也给大家推荐一个非常优秀的下载库。
https://github.com/lingochamp/FileDownloader
Android 文件下载引擎,稳定、高效、灵活、简单易用

如果你有想学习的文章直接留言,我会整理征稿。如果你有好的文章想和大家分享欢迎投稿,直接向我投递文章链接即可。
欢迎长按下图->识别图中二维码或者扫一扫关注我的公众号:

夜雨聆风
