android-upgrade
这是一个安卓软件升级库。
简介:
1.升级模式支持普通升级、强制升级、灰度升级。
2.下载支持断点续传、分流下载、动态网络监听下载。
2.安装支持自动安装申请sd卡和安装权限、自动安装(root权限)、自动清除安装包。
3.支持更新模板或自定义更新模板(json或xml)或下载链接
4.支持通知栏显示和对话框显示(自定义主题)
5.支持android 4.2以上设备
image
image
image
image
image
image
image
依赖:
Or use Gradle:
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency
dependencies {
compile 'com.github.itsnows:android-upgrade:release'
}
Or Maven:
Add the JitPack repository to your build file
jitpack.io
https://jitpack.io
Add the dependency
com.github.itsnows
android-upgrade
1.1.4
使用:
1.更新文档(xml)
2018-02-09
1
#升级模式支持普通升级、强制升级、灰度升级
#下载支持断点续传、分流下载、动态网络监听下载
#安装支持自动安装申请sd卡和安装权限、自动安装(root权限)、自动清除安装包
#支持通知栏显示和对话框显示(自定义主题)
#支持自定义对话框
#支持android 4.2以上设备
5
1.0.0.5
http://gdown.baidu.com/data/wisegame/16f98e07f392294b/QQ_794.apk
JGB9K17928918126
2018-02-09
1
#内侧版本
5
1.0.0.5
http://gdown.baidu.com/data/wisegame/16f98e07f392294b/QQ_794.apk
2.更新文档(json)
{
"android": {
"stable": {
"date": "2018-02-09",
"mode": 1,
"log": [
"#升级模式支持普通升级、强制升级、灰度升级",
"#下载支持断点续传、分流下载、动态网络监听下载",
"#安装支持自动安装申请sd卡和安装权限、自动安装(root权限)、自动清除安装包",
"#支持更新模板或自定义更新模板(json或xml)或下载链接",
"#支持通知栏显示和对话框显示(自定义主题)",
"#支持自定义对话框",
"#支持android 4.2以上设备"
],
"versionCode": 20,
"versionName": "1.2.0",
"downloadUrl": "http://gdown.baidu.com/data/wisegame/16f98e07f392294b/QQ_794.apk",
"md5": null
},
"beta": {
"device": [
"JGB9K17928918126"
],
"date": "2018-02-09",
"mode": 1,
"log": [
"#内侧版本"
],
"versionCode": 20,
"versionName": "1.2.0",
"downloadUrl": "http://gdown.baidu.com/data/wisegame/16f98e07f392294b/QQ_794.apk",
"md5": null
}
}
}
3.代码调用
UpgradeManager manager = new UpgradeManager(this);
// 自动检测更新
manager.checkForUpdates(new UpgradeOptions.Builder()
// 对话框主题(可选)
.setTheme(ContextCompat.getColor(this, R.color.colorPrimary))
// 通知栏图标(可选)
.setIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher_round))
// 通知栏标题(可选)
.setTitle("腾讯QQ")
// 通知栏描述(可选)
.setDescription("更新通知栏")
// 下载链接或更新文档链接
.setUrl("https://gitee.com/itsnows/android-upgrade/raw/master/doc/app-update.json")
// 下载文件存储路径(可选)
.setStorage(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download/com.upgrade.apk"))
// 是否支持多线性下载(可选)
.setMultithreadEnabled(true)
// 线程池大小(可选)
.setMultithreadPools(10)
// 文件MD5(可选)
.setMd5(null)
// 是否自动删除安装包(可选)
.setAutocleanEnabled(false)
// 是否自动安装安装包(可选)
.setAutomountEnabled(false)
// 是否自动检测更新
.build(), true);
// 手动检测更新
manager.checkForUpdates(new UpgradeOptions.Builder()
.setIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher_round))
.setTitle("腾讯QQ")
.setDescription("更新通知栏")
.setUrl("https://gitee.com/itsnows/android-upgrade/raw/master/doc/app-update.json")
.setStorage(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download/com.upgrade.apk"))
.setMultithreadEnabled(true)
.setMultithreadPools(1)
.build(), true);
// 自定义下载更新
manager.checkForUpdates(new UpgradeOptions.Builder()
.setIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher_round))
.setTitle("腾讯QQ")
.setDescription("更新通知栏")
.setUrl("https://gitee.com/itsnows/android-upgrade/raw/master/doc/app-update.json")
.setStorage(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download/com.upgrade.apk"))
.setMultithreadEnabled(true)
.setMultithreadPools(1)
.setMd5(null)
.setAutocleanEnabled(true)
.setAutomountEnabled(true)
.build(), new OnUpgradeListener() {
// 安装包下载(无需更新文档)
@Override
public void onUpdateAvailable(UpgradeClient client) {
}
// 发布版本
@Override
public void onUpdateAvailable(Upgrade.Stable stable, UpgradeClient client) {
}
// 测试版本
@Override
public void onUpdateAvailable(Upgrade.Beta beta, UpgradeClient client) {
}
// 没有可用的更新
@Override
public void onNoUpdateAvailable(String message) {
Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show();
}
});
// 下载安装包(无需更新文档)
manager.checkForUpdates(new UpgradeOptions.Builder()
.setIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher_round))
.setTitle("腾讯QQ")
.setDescription("更新通知栏")
.setUrl("http://gdown.baidu.com/data/wisegame/16f98e07f392294b/QQ_794.apk")
.setStorage(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Download/com.upgrade.apk"))
.setMultithreadEnabled(true)
.setMultithreadPools(1)
.setMd5(null)
.build(), false);
// 取消检测
manager.cancel();