项目地址:github地址
清晰灵活简单易用的应用更新库
支持断点续传
支持静默下载:有新版本时不提示直接下载
支持强制安装:不安装无法使用app
支持下载完成后自动安装
支持可忽略版本
支持app启动时强制安装下载好了的更新包
支持POST请求
支持自定义解析服务器返回的数据
支持自定义查询/下载
支持自定义提示对话框/下载进度对话框
支持通知栏进度显示
适配 Android 7.0 FileProvider
Gradle
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.czy1121:update:1.1.1'
}
基本用法
配置
//是否wifi 默认是
UpdateManager.setWifiOnly(false);
查询
// 进入应用时查询get更新
mcheckurl=http://example.com/check
UpdateManager.setUrl(mCheckUrl, "yyb");
UpdateManager.check(context);
网址是
http://example.com/check?package=ezy.demo.update&version=123&channel=yyb
自动获取包名是ezy.demo.update,版本号为123
//post更新
mcheckeurl=http://example.com/check
UpdateManager.create(this).setUrl(mCheckUrl).setPostData("param=abc¶m2=xyz").check();
网址是http://example.com/check?param=abc¶m2=xyz
服务器返回json数据
有更新
{
"Code": 200,
"Message": "获取成功!",
"Data": {
"hasUpdate": true,
"isForce": false,
"isSilent": false,
"isAutoInstall": true,
"isIgnorable": false,
"versionCode": 5,
"versionName": "1.06",
"updateContent": "1.优化更新内容",
"url": "http://app.down/app.apk",
"MD5": "B8B038414A8BFAF8333280D0FD243C6E",
"Size": 7024539
}
}
无更新
{
"Code": 200,
"Message": "获取成功!",
"Data": {
"hasUpdate": false
}
}
字段说明
hasUpdate:是否有更新
isSilent:是否静默安装
isForce:是否强制安装
isAutoInstall:是否自动安装
isIgnorable:是否可忽略该版本
versionCode:int类型,对应Android中的versionCode,大于才能覆盖更新。
UpdateVersion:对应Android中的versionCode(内部版本号),修改改字段才能使APP弹出提示
versionName:对应Android中versionName,
可自己随便取名
updateContent:更新日志
urk:app下载地址
MD5:校验文件的MD5 ,保证下载完整性
Size:文件大小 ( long )
被解释成
public class UpdateInfo {
// 是否有新版本
public boolean hasUpdate = false;
// 是否静默下载:有新版本时不提示直接下载
public boolean isSilent = false;
// 是否强制安装:不安装无法使用app
public boolean isForce = false;
// 是否下载完成后自动安装
public boolean isAutoInstall = true;
// 是否可忽略该版本
public boolean isIgnorable = true;
public int versionCode;
public String versionName;
public String updateContent;
public String url;
public String md5;
public long size;
}
如果UpdateInfo info
null 查询未知错误
hasUpdate = false 返回无更新
md5为空或者与忽略版本md5相同 返回该版本已忽略,
如果缓存有下载文件并且md5相同 安装文件
// 是否静默下载:有新版本时不提示直接下载
开始显示更新对话框