Android 超级轻量的版本更新库AppUpdate 您所在的位置:网站首页 reboot_updateapk Android 超级轻量的版本更新库AppUpdate

Android 超级轻量的版本更新库AppUpdate

#Android 超级轻量的版本更新库AppUpdate| 来源: 网络整理| 查看: 265

文章目录 写在前面示例功能介绍用法实现版本更新提示框下载安装 短期内更新计划感谢

写在前面

欢迎大家关注我的公众号:牛角尖尖上起舞

Github上优秀的版本更新框架很多,推荐大家去阅读去使用,我就从中受益良多。

有这么多优秀的版本更新框架了,我为什么还要造轮子呢?

有这么几方面考虑:

1、这些优秀的版本更新框架,基本都规定了版本更新接口的交互细节,包括提交的参数、返回的数据及其格式等。 这就要求server端的接口要随着app端选用的版本更新框架的不同而调整,这就不大合适了。 2、写这个库的初衷是要用于公司内部的几个app,便于app端统一风格,server端统一接口,还是自己造的轮子更方便定制和改版了。 3、想要尽量精简库的体积,尽量去除无用代码。

github源码地址:https://github.com/ZuoHailong/AppUpdate (文后附的还有链接)

示例

更新提示 正在更新 更新出错

功能介绍

支持指向apk文件的 url 形式的版本更新

支持指向接口、接口返回二进制文件流的 url 形式的版本更新

支持断点下载

采用 Service + AsyncTask 方式下载

提供界面友好的版本更新提示弹窗,可自定义其主题样式

兼容Android 6.0,更新库自动获取写权限,用户拒绝后可再次请求

兼容Android 7.0,支持FileProvider

兼容Android 8.0,应用安装无障碍

实现国际化(支持中文和英文)

用法

具体的 gradle 依赖、API 用法等,github上有详述,请移步: https://github.com/ZuoHailong/AppUpdate

注意:使用者需自行访问自己项目的版本更新接口,获取版本更新内容、新版本名、新版本下载链接等,然后才能调用此库实现版本更新。此库提供的功能主要是弹框、下载、安装等。

实现 版本更新提示框

AppUpdateManager 是此库的入口,在其中采用 Builder 模式对版本更新进行初始化,并调起版本更新框。支持 “建议更新” 或 “必须更新” 。

此库提供的所有API都集中在 AppUpdateManager.Builder 中。

代码很浅显,这里就不贴了,想要看的访问 Github 好了。

下载

下载采用的方式是 Service + AsyncTask,做了断点下载的支持;

应用的下载支持常见的直接指向文件的以 “.apk” 结尾的url的形式

应用的下载还支持接口直接返回文件流的形式。

需要注意的是,这种方式,文件大小是必须设置的,是否支持断点下载则是由server端小伙伴决定的,并需要在builder时进行设置: builder.updateForce(boolean isForce)

兼容了 Android 6.0,可自动获取 “存储写入” 权限,用户拒绝的话,会在用户下次点击 “立即更新” 时再次申请权限。除非必要,使用者不需要再关心 “存储写入” 的权限问题;

AsyncTask中使用了 okHttp 库进行下载,目前用的是 okHttp 的最新版 4.0.0 。后面也许会考虑移除 okHttp 库,使用自己的代码进行下载,以便进一步缩减此库体积。

注:这一块的代码,有受益于郭霖大神的书《第一行代码(第2版)》。

安装

安装的重点是要做 Android 7.0 和 Android 8.0 的兼容,也就是在 7.0 上要处理 FileProvider 的问题,在 8.0 上要处理 “安装未知来源应用” 权限的问题,即:

短期内更新计划

建议更新模式下,在更新提示框中显示下载进度,且app不可用的处理方式似乎不大合适,改为 “ 更新提示框消失,在通知栏中显示下载进度,不影响app使用,下载完成后自动调起安装页面 ” 会更加友好一些;

okHttp 库的引用移除,用自己的代码实现 apk 的断点下载。

项目源码在 github 上,并提供了 demo 供测试使用:https://github.com/ZuoHailong/AppUpdate

感谢

郭霖:https://blog.csdn.net/guolin_blog

薛翔的开源库XUpdate:https://github.com/xuexiangjys/XUpdate

千匍的开源库AppUpdate:https://github.com/WVector/AppUpdate

欢迎大家关注我的公众号:牛角尖尖上起舞



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有