应用内版本更新库UpdateVersion

应用内版本更新库UpdateVersion

UpdateVersion是一个Android版本更新库。
GitHub仓库地址

引入

gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

implementation 'com.github.DL-ZhangTeng:UpdateVersion:2.0.1'
//使用的三方库
implementation 'com.github.DL-ZhangTeng:Utils:2.0.3'

效果图

无wifi
新版本

属性

属性名描述
isAutoInstall下载完成后是否自动安装
isProgressDialogShow是否显示下载进度弹窗(通知栏显示下载时不会弹出)
isNotificationShow是否通知栏显示下载进度通知与确认安装通知(自动安装时不会发送确认安装通知)
isUpdateDialogShow是否显示更新提示信息弹窗
isNetCustomDialogShow是否显示移动网络提示信息弹窗
isHintVersion是否提示“当前已是最新版”
isUpdateDownloadWithBrowser是否使用浏览器下载
checkUpdateCommonUrl获取版本信息url(可以重写CommonHttpClient)
providerFileProvider(默认:BuildConfig.LIBRARY_PACKAGE_NAME + “.FileProvider”)
sslParamsHTTPS 证书
isUpdateTest是否是测试模式(数据来源:versionInfo.json)
themeColor主题色
setProgressDrawable设置进度条样式
uploadImage提示更新信息弹窗背景图
noNetImage网络提示信息弹窗背景图

使用

UpdateVersion.Builder()
    //是否为调试模式
    .isUpdateTest(true)
    //通知栏显示
    .isNotificationShow(true)
    //是否自动安装
    .isAutoInstall(true)
    //是否提示更新信息
    .isHintVersion(true)
    //是否显示更新dialog
    .isUpdateDialogShow(true)
    //是否显示移动网络提示dialog
    .isNetCustomDialogShow(true)
    //是否显示下载进度dialog
    .isProgressDialogShow(true)
    //是否使用浏览器更新
    .isUpdateDownloadWithBrowser(false)
    //获取服务器的版本信息
    .setCheckUpdateCommonUrl("http://")
    .setProvider(BuildConfig.APPLICATION_ID + ".FileProvider")
    .build()
    //执行更新任务
    .updateVersion(CommonHttpClient(this))

混淆

-keep public class com.zhangteng.**.*{ *; }

历史版本

版本更新更新时间
v2.0.1Android8.0未知应用安装兼容2022/11/25 at 13:22
v2.0.0使用协程处理异步任务2022/9/17 at 18:58
v1.5.0兼容分区存储2022/9/16 at 16:23
v1.4.0使用独立的Utils库2022/9/2 at 20:43
v1.3.0增加Https支持2022/8/20 at 13:48
v1.2.1使用utils新版本2022/6/30 at 10:30
v1.2.0使用base库的utils2022/1/21 at 16:01
v1.1.6增加进度条样式自定义2021/12/23 at 12:41
v1.1.5避免进度小于0或NaN2021/12/23 at 10:27
v1.1.4增加更新提示弹窗设置&移动网络弹窗设置2021/12/22 at 20:10
v1.1.3string、color使用资源,可在app中使用同名资源替换dialog显示2021/8/29 at 17:18
v1.1.2string、color使用资源,可在app中使用同名资源替换dialog显示2021/8/29 at 17:06
v1.1.1浏览器下载时使用服务器返回版本信息url2020/8/27 at 16:31
v1.1.0迁移到androidx2020/7/22 0022 at 下午 12:04
v1.0.2增加主题自定义2020/6/1 0001 at 下午 17:54

赞赏

如果您喜欢UpdateVersion,或感觉UpdateVersion帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢。

联系我

邮箱:763263311@qq.com/ztxiaoran@foxmail.com

License

Copyright © [2020] [Swing]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
框架内部支持中/英文(其他语言只需要在对应的string.xml中取相同的名字即可)内部对话框背景图片、按钮支持自定义了查看版本中的Log只需要过滤AppUpdate开头的Tag重点: 如果没有设置downloadPath则默认为getExternalCacheDir()目录,同时不会申请[存储]权限!目录编译问题效果图功能介绍DownloadManagerUpdateConfiguration使用步骤Demo下载体验版本更新记录结语编译问题因为适配了Android O的通知栏,所以依赖的v7包版本比较高appcompat-v7:26.1.0使用的gradle版本为gradle-4.1-all,所以建议使用Android Studio 3.0及以上的版本打开此项目效果图     功能介绍 支持断点下载 支持后台下载 支持自定义下载过程 支持 设备 >= Android M 动态权限的申请 支持通知栏进度条展示(或者自定义显示进度) 支持Android N 支持Android O 支持中/英文双语 支持自定内置对话框的样式 使用HttpURLConnection下载,未集成其他第三方框架更加详细的文档参阅此处《AppUpdate API文档》DownloadManager:配置文档初始化使用DownloadManager.getInstance(this)属性描述默认值是否必须设置context上下文nulltrueapkUrlapk的下载地址nulltrueapkNameapk下载好的名字nulltruedownloadPathapk下载的位置getExternalCacheDir()falseshowNewerToast是否提示用户 "当前已是最新版本"falsefalsesmallIcon通知栏的图标(资源id)-1trueconfiguration这个的额外配置nullfalseapkVersionCode更新apk的versionCode (如果设置了那么中将会进行版本判断下面的属性也就需要设置了)1falseapkVersionName更新apk的versionNamenullfalseapkDescription更新描述nullfalseapkSize新版本的安装包大小(单位M)nullfalseauthorities兼容Android N uri授权应用包名falseUpdateConfiguration:配置文档属性描述默认值notifyId通知栏消息id1011notificationChannel适配Android O的渠道通知详情查阅源码httpManager设置自己的下载过程nullbreakpointDownload是否需要支持断点下载trueenableLog是否需要日志输出trueonDownloadListener下载过程的回调nulljumpInstallPage下载完成是否自动弹出安装页面trueshowNotification是否显示通知栏进度(后台下载提示)trueforcedUpgrade是否强制升级falseonButtonClickListener按钮点击事件回调nulldialogImage对话框背景图片资源(图片规范参考demo)-1dialogButtonColor对话框按钮的颜色-1dialogButtonTextColor对话框按钮的文字颜色-1所有版本:点击查看使用步骤第一步: app/build.gradle进行依赖implementation 'com.azhon:appupdate:1.7.3'第二步:创建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)         //可设置,可不设置         .setConfiguration(configuration)         .download();第三步:兼容Android N 及以上版本,在你应用的Manifest.xml添加如下代码<--! android:authorities="${applicationId}"  这个值必须与DownloadManager中的authorities一致(不设置则为应用包名)--> <provider     android:name="android.support.v4.content.FileProvider"     android:authorities="${applicationId}"     android:exported="false"     android:grantUriPermissions="true">     <meta-data         android:name="android.support.FILE_PROVIDER_PATHS"         android:resource="@xml/file_paths_public" /> </provider>第四步:资源文件res/xml/file_paths_public.xml内容<?xml version="1.0" encoding="utf-8"?> <paths>     <external-path         name="app_update_external"         path="/" />     <external-cache-path         name="app_update_cache"         path="/" /> </paths>兼容Android O及以上版本,需要设置NotificationChannel(通知渠道);中已经写好可以前往查阅NotificationUtil.java温馨提示:升级对话框中的内容是可以上下滑动的哦!如果需要实现自己一套下载过程,只需要继承BaseHttpDownloadManager 并使用listener更新进度public class MyDownload extends BaseHttpDownloadManager {}

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值