The Wayback Machine - https://web.archive.org/web/20220120120116/https://github.com/jenly1314/AppUpdater
Skip to content

🚀 AppUpdater一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。(无需担心通知栏适配;无需担心重复点击下载;无需担心App安装等问题;这些AppUpdater都已帮您处理好。)

master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AppUpdater

Image

Download MavenCentral JCenter JitPack CI CircleCI API License Blog QQGroup

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 展示

Image

你也可以直接下载 演示App 体验效果

引入

由于2021年2月3日 JFrog宣布将关闭Bintray和JCenter,计划在2022年2月完全关闭。 所以后续版本不再发布至 JCenter

Gradle:

  1. 在Project的 build.gradle 里面添加远程仓库
allprojects {
    repositories {
        //...
        mavenCentral()
    }
}
  1. 在Module的 build.gradle 里面添加引入依赖项
    //----------AndroidX 版本
    //app-updater
    implementation 'com.github.jenly1314.AppUpdater:app-updater:1.1.2'
    //app-dialog
    implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.1.2'

以前发布至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("简单弹框升级")
            .setConfirm("升级") //旧版本使用setOk
            .setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
            .setOnClickConfirm(new View.OnClickListener() { //旧版本使用setOnClickOk
                @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升级")
            .setConfirm("升级") //旧版本使用setOk
            .setContent("1、新增某某功能、\n2、修改某某问题、\n3、优化某某BUG、")
            .setOnClickConfirm(new View.OnClickListener() { //旧版本使用setOnClickOk
                @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.2:2021-11-18

  • AppDialog对外提供更多与WindowManager.LayoutParams相关的配置

v1.1.1:2021-9-14

  • 对外提供更多可配置参数
  • 优化细节

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

About

🚀 AppUpdater一个专注于App更新,一键傻瓜式集成App版本升级的轻量开源库。(无需担心通知栏适配;无需担心重复点击下载;无需担心App安装等问题;这些AppUpdater都已帮您处理好。)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages