easyandroidgroup / Updateplugin
可任意定制的app更新组件。
Stars: ✭ 1,312
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Updateplugin
Appupdate
🚀 Android 版本更新 🚀 a library for android version update 🚀
Stars: ✭ 3,375 (+157.24%)
Mutual labels: update, flexible, customizable
Positional
An elegant and colorful location information app for Android with Compass, Clock, Level, Sun, Moon, Trail Marker and many other features.
Stars: ✭ 72 (-94.51%)
Mutual labels: flexible, customizable
Scorehud
An event driven, highly customizable plugin to add Scoreboards on your Minecraft Bedrock Server.
Stars: ✭ 69 (-94.74%)
Mutual labels: customizable
Lua Resty Httpipe
Lua HTTP client cosocket driver for OpenResty / ngx_lua, interfaces are more flexible
Stars: ✭ 71 (-94.59%)
Mutual labels: flexible
Kill Update
Prevents Windows 10 from updating. Can be manually disabled when updating is convenient.
Stars: ✭ 81 (-93.83%)
Mutual labels: update
React Workspaces
The ultimate react workspace and panel management system.
Stars: ✭ 90 (-93.14%)
Mutual labels: customizable
Base
Base is the foundation for creating modular, unit testable and highly pluggable, server-side node.js applications.
Stars: ✭ 67 (-94.89%)
Mutual labels: update
React Swipeable List
Swipeable list component for React.
Stars: ✭ 86 (-93.45%)
Mutual labels: customizable
Rescript React Update
useReducer with updates and side effects!
Stars: ✭ 79 (-93.98%)
Mutual labels: update
Fwupd
A simple daemon to allow session software to update firmware
Stars: ✭ 1,176 (-10.37%)
Mutual labels: update
Shadow Shop
Building highly customizable e-commerce websites selling shadowsocks services, using Wordpress and WooCommerce
Stars: ✭ 84 (-93.6%)
Mutual labels: customizable
Checknewappversionavailable
It makes a request to Play Store to check if there is a new version of your published app
Stars: ✭ 69 (-94.74%)
Mutual labels: update
Recyclerviewpresenter
RecyclerView Adapter Library with different models and different layouts as convenient as possible.
Stars: ✭ 86 (-93.45%)
Mutual labels: update
Simpleupload
Simple upload system in PHP, compatible with AWS S3, Dropbox, Azure and others.
Stars: ✭ 85 (-93.52%)
Mutual labels: update
Zjflexiblelayout
custom waterfall flow based on UICollectionView
Stars: ✭ 78 (-94.05%)
Mutual labels: customizable
Android Inapp Update
A lightweight implementation of Android In-app Update
Stars: ✭ 81 (-93.83%)
Mutual labels: update
UpdatePlugin是一款用来进行app更新升级的框架。
原理
UpdatePlugin主要基于对整个更新流程的梳理,针对更新流程中可能的被用户需要定制的节点。提供对应的定制接口出来提供用户进行各种定制;
为了方便用户直接使用,对于更新流程中非用户必须定制的接口。框架也对各个节点实现了一套自身默认的定制接口。做到拿来即用的。
特性
- 支持断点下载
- 支持 [Android 8.0] 应用安装方式
- 支持接入任意更新api
- 支持强制更新、忽略此版本更新逻辑
- 支持对apk进行安全检查,防止类似DNS劫持后被替换更新apk包的情况
- 支持指定apk下载文件地址
- 支持定制接入更新网络任务。适配更多网络使用场景
- 支持定制各种更新策略。比如默认使用的WIFI下默认直接下载后再通知更新,非WIFI下先通知更新再启动下载等。
- 支持定制安装策略。比如在插件化、热修复环境下进行定制使用
- 支持任意定制更新流程中的各种通知:检查到有更新时的通知、下载时的进度条通知、下载完成后安装之前的通知。
- 支持定制后台任务重启逻辑
- 当APK下载失败时,支持重启下载任务。
引入方式:
由于各种原因,现将依赖仓库地址,从jCenter迁移到JitPack,请升级新版使用时注意一下:
加入JitPack仓库依赖。
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
- 在要使用的项目的build.gradle中。添加依赖:
dependencies {
...
compile "com.github.yjfnypeu:UpdatePlugin:$LastestVersion"
}
流程图
使用方式:
创建更新配置类:
UpdateConfig.getConfig()
.setUrl(url)// 配置检查更新的API接口
.setUpdateParser(new UpdateParser() {
@Override
public void Update parse(String response) throws Exception {
// TODO 此处的response数据为上方检查更新接口所返回回来的数据。
// 需要在此对response数据进行解析,并创建出对应的update实体类数据
// 提供给框架内部进行使用
return update;
}
});
启动更新任务
框架提供两种更新任务启动方式,分别对应于不同的场景下进行使用:
1. 普通更新任务
UpdateBuilder.create()
.check();// 启动更新任务
普通更新任务主要用于设置页中,由用户点击检查更新时所主动触发的更新任务。
2. 后台更新任务
后台更新任务主要是提供出来,采用后台轮询更新的机制,便于及时检查到新发布的APK进行版本更新
UpdateBuilder task = UpdateBuilder.create()
// 启动后台更新任务,retryTime为重启时间间隔,单位为秒。
// 即通过此方法所启动的更新任务。将会在'无更新','更新失败'等条件下:
// 延迟指定的时间间隔后,自动重新启动。
task.checkForDaemon(retryTime);
...
// 可使用此方法,停止后台更新任务的重启机制。
task.stopDaemon();
联系作者
email: [email protected]
或者手动加入QQ群: 108895031
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].