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.
Jenly 2677d67d70 CI 3 years ago
.circleci CI 5 years ago
app 优化细节 4 years ago
app-dialog maven publish 3 years ago
app-updater maven publish 3 years ago
gradle/wrapper maven publish 3 years ago
.gitignore 支持取消下载 5 years ago
.travis.yml CI 3 years ago
GIF.gif initial 6 years ago
LICENSE 升级Gradle到v4.6 6 years ago
README.md 优化细节 4 years ago
build.gradle maven publish 3 years ago
gradle.properties maven publish 3 years ago
gradlew CI 6 years ago
gradlew.bat initial 6 years ago
settings.gradle 升级Gradle到v4.6 6 years ago
versions.gradle Update targetSdk to 29 3 years ago

README.md

AppUpdater

Image

Download 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

引入

Maven:

    //app-updater
    <dependency>
      <groupId>com.king.app</groupId>
      <artifactId>app-updater</artifactId>
      <version>1.0.10</version>
      <type>pom</type>
    </dependency>

    //app-dialog
    <dependency>
      <groupId>com.king.app</groupId>
      <artifactId>app-dialog</artifactId>
      <version>1.0.10</version>
      <type>pom</type>
    </dependency>

Gradle:


    //----------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'

Lvy:

    //app-updater
    <dependency org='com.king.app' name='app-dialog' rev='1.0.10'>
      <artifact name='$AID' ext='pom'></artifact>
    </dependency>

    //app-dialog
    <dependency org='com.king.app' name='app-dialog' rev='1.0.10'>
      <artifact name='$AID' ext='pom'></artifact>
    </dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
    allprojects {
        repositories {
            //...
            maven { url 'https://dl.bintray.com/jenly/maven' }
        }
    }

示例

    //一句代码,傻瓜式更新
    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.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