You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.4 KiB
8.4 KiB
AppUpdater
AppUpdater for Android 是一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。(无需担心通知栏适配;无需担心重复点击下载;无需担心App安装等问题;这些AppUpdater都已帮您处理好。) 核心库主要包括app-updater和app-dialog。
下载更新和弹框提示分开,是因为这本来就是两个逻辑。完全独立开来能有效的解耦。
- app-updater 主要负责后台下载更新App,无需担心下载时各种配置相关的细节,一键傻瓜式升级。
- app-dialog 主要是提供常用的Dialog和DialogFragment,简化弹框提示,布局样式支持自定义。
app-updater + app-dialog 配合使用,谁用谁知道。
功能介绍
- 专注于App更新一键傻瓜式升级
- 够轻量,体积小
- 支持监听下载过程
- 支持下载失败,重新下载
- 支持下载优先取本地缓存
- 支持通知栏提示内容和过程全部可配置
- 支持Android Q(10)
- 支持取消下载
- 支持使用OkHttpClient下载
Gif 展示
引入
由于2021年2月3日 **JFrog宣布将关闭Bintray和JCenter,计划在2022年2月完全关闭。所以后续版本不再发布至 JCenter
Gradle:
- 在Project的 build.gradle 里面添加远程仓库
allprojects {
repositories {
//...
mavenCentral()
}
}
- 在Module的 build.gradle 里面添加引入依赖项
//----------AndroidX 版本
//app-updater
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.1.0'
//app-dialog
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.1.0'
以前发布至JCenter的版本
//----------AndroidX 版本
//app-updater
implementation 'com.king.app:app-updater:1.0.10-androidx'
//app-dialog
implementation 'com.king.app:app-dialog:1.0.10-androidx'
//----------Android Support 版本
//app-updater
implementation 'com.king.app:app-updater:1.0.10'
//app-dialog
implementation 'com.king.app:app-dialog:1.0.10'
示例
//一句代码,傻瓜式更新
new AppUpdater(getContext(),url).start();
//简单弹框升级
AppDialogConfig config = new AppDialogConfig(context);
config.setTitle("简单弹框升级")
.setOk("升级")
.setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
.setOnClickOk(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AppUpdater.Builder()
.setUrl(mUrl)
.build(getContext())
.start();
AppDialog.INSTANCE.dismissDialog();
}
});
AppDialog.INSTANCE.showDialog(getContext(),config);
//简单DialogFragment升级
AppDialogConfig config = new AppDialogConfig(context);
config.setTitle("简单DialogFragment升级")
.setOk("升级")
.setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
.setOnClickOk(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AppUpdater.Builder()
.setUrl(mUrl)
.setFilename("AppUpdater.apk")
.build(getContext())
.setHttpManager(OkHttpManager.getInstance())//不设置HttpManager时,默认使用HttpsURLConnection下载,如果使用OkHttpClient实现下载,需依赖okhttp库
.start();
AppDialog.INSTANCE.dismissDialogFragment(getSupportFragmentManager());
}
});
AppDialog.INSTANCE.showDialogFragment(getSupportFragmentManager(),config);
更多使用详情,请查看app中的源码使用示例或直接查看API帮助文档
混淆
app-updater Proguard rules
app-dialog Proguard rules
版本记录
v1.1.0:2021-7-2 (从v1.1.0开始不再发布至JCenter)
- 后续版本只支持androidx,版本名称不再带有androidx标识
- 优化细节
v1.0.10:2021-3-4
- AppDialogConfig添加构造参数,简化自定义扩展用法
- 优化细节
v1.0.9:2020-12-11
- 优化默认Dialog样式的显示细节
v1.0.8:2020-1-2
- 支持MD5校验
- 对外提供获取Dialog方法
v1.0.7:2019-12-18
- 优化细节
v1.0.6:2019-11-27
- 新增OkHttpManager 如果使用了OkHttpManager则必须依赖okhttp
- 优化细节 (progress,total 变更 int -> long)
v1.0.5:2019-9-4
- 支持取消下载
v1.0.4:2019-6-4 开始支持AndroidX版本
- 支持添加请求头
v1.0.3:2019-5-9
- 新增支持下载APK优先取本地缓存,避免多次下载相同版本的APK文件
- AppDialog支持隐藏Dialog的标题
v1.0.2:2019-3-18
- 新增通知栏是否震动和铃声提示配置
- AppDialogConfig新增getView(Context context)方法
v1.0.1:2019-1-10
- 升级Gradle到4.6
v1.0 :2018-6-29
- AppUpdater初始版本
赞赏
如果您喜欢AppUpdater,或感觉AppUpdater帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 😃
您也可以扫描下面的二维码,请作者喝杯咖啡 ☕
关于我
Name: Jenly
Email: jenly1314#gmail.com / jenly1314#vip.qq.com
CSDN: jenly121
CNBlogs: jenly
GitHub: jenly1314
Gitee: jenly1314
加入QQ群: 20867961