本文作者
作者:Teprinciple
链接:https://www.jianshu.com/p/c089e222f820
本文由作者授权推送。
项目地点 :
https://github.com/teprinciple/UpdateAppDemo
如今 的android应用app会隔一段时间发布一个新的版本,当你打开某个app ,假如 有最新的版本,会提示 你是否下载更新 。本文利用 android自带的下载管理器DownloadManager举行 下载最新版本的apk,下载完成后主动 跳转安装。
结果 如下:
1
查抄 版本并判定 是否必要 更新
通过获取当前app版本号与服务器上的版本号举行 对比 ,假如 本地 的版本号低于服务器版本号,则弹出提示框:发现新版本,是否下载更新。
2
下载最新版apk
留意 添加权限:
uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /
3
下载完成后跳转安装
通过广播吸取 者 ,吸取 到下载完成后发出的广播,跳转到体系 的安装界面,举行 安装 。
留意 必要 在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 文件下载引擎,稳固 、高效 、机动 、简单 易用