English Doc

自3.0.0版本开始可以使用AppUpdate日志查询可以查看下载的异常信息,也可以查看哪些App正在使用,还可以一起来讨论问题哦!

由于Android Q版本限制后台应用启动Activity,所以下载完成会发送一个通知至通知栏(忽略showNotification的值,需要允许发送通知)

由于Android Q版本限制应用访问外部存储目录,所以移除了setDownloadPath()功能

扫码加入QQ群(群号:828385813)

<img src="https://github.com/azhon/AppUpdate/blob/master/img/qq_group.png">

目录

效果图

     

功能介绍

Demo下载体验

点击下载Demo进行体验

DownloadManager:配置文档

初始化使用DownloadManager.getInstance(this)

属性 描述 默认值 是否必须设置
context 上下文 null true
apkUrl apk的下载地址 null true
apkName apk下载好的名字 null true
downloadPath apk下载的位置 (2.7.0以上版本已过时) getExternalCacheDir() false
showNewerToast 是否提示用户 "当前已是最新版本" false false
smallIcon 通知栏的图标(资源id) -1 true
configuration 这个库的额外配置 null false
apkVersionCode 更新apk的versionCode
(如果设置了那么库中将会进行版本判断
下面的属性也就需要设置了)
Integer.MIN_VALUE false
apkVersionName 更新apk的versionName null false
apkDescription 更新描述 null false
apkSize 新版本的安装包大小(单位M) null false
apkMD5 新安装包的md5(32位) null false

UpdateConfiguration:配置文档

属性 描述 默认值
notifyId 通知栏消息id 1011
notificationChannel 适配Android O的渠道通知 详情查阅源码
httpManager 设置自己的下载过程 null
enableLog 是否需要日志输出 true
onDownloadListener 下载过程的回调 null
jumpInstallPage 下载完成是否自动弹出安装页面 true
showNotification 是否显示通知栏进度(后台下载提示) true
forcedUpgrade 是否强制升级 false
showBgdToast 是否提示 "正在后台下载新版本…" true
onButtonClickListener 按钮点击事件回调 null
dialogImage 对话框背景图片资源(图片规范参考demo) -1
dialogButtonColor 对话框按钮的颜色 -1
dialogButtonTextColor 对话框按钮的文字颜色 -1
dialogProgressBarColor 对话框进度条和文字颜色 -1

使用提醒

因为目前会配合AppUpdate日志查询平台会产生一些网络数据,这些信息收集绝不用于任何恶意用途。 如果你不想使用,可以下载源代码进行集成并将HttpUtil代码移除即可。

使用步骤

第一步: app/build.gradle进行依赖

implementation 'com.azhon:appupdate:3.0.0'
implementation 'com.azhon:appupdateX:3.0.0'

第二步:创建DownloadManager,更多用法请查看这里示例代码

DownloadManager manager = DownloadManager.getInstance(this);
manager.setApkName("appupdate.apk")
        .setApkUrl("https://raw.githubusercontent.com/azhon/AppUpdate/master/apk/appupdate.apk")
        .setSmallIcon(R.mipmap.ic_launcher)
        .download();

如果需要显示内置的对话框那么你需要调用manager.setApkVersionCode()将新版本的versionCode填进去

第三步:混淆打包,只需保持ActivityService不混淆

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service

使用技巧

//旧版本apk的文件保存地址
boolean b = ApkUtil.deleteOldApk(this, getExternalCacheDir().getPath() + "/appupdate.apk");
public class MyDownload extends BaseHttpDownloadManager {}

版本更新记录

赞赏

如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激赞赏列表