当前位置: 首页 > 软件库 > 手机/移动开发 > >

AppUpdate

授权协议 Apache-2.0 License
开发语言 Java
所属分类 手机/移动开发
软件类型 开源软件
地区 不详
投 递 者 裴嘉许
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

English Doc

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

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

目录

效果图

   

功能介绍

  • 支持AndroidX
  • 支持后台下载
  • 支持强制更新
  • 支持自定义下载过程
  • 支持 设备 >= Android M 动态权限的申请
  • 支持通知栏进度条展示(或者自定义显示进度)
  • 支持Android N
  • 支持Android O
  • 支持Android P
  • 支持Android Q
  • 支持中/英文双语(国际化)
  • 支持自定义内置对话框样式
  • 支持取消下载(如果发送了通知栏消息,则会移除)
  • 支持下载完成 打开新版本后删除旧安装包文件
  • 使用HttpURLConnection下载,未集成其他第三方框架

Demo下载体验

点击下载Demo进行体验

使用步骤

第一步:

  • root/build.gradle添加如下代码
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
  • app/build.gradle添加依赖
implementation 'com.github.azhon:AppUpdate:3.0.5'

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

UpdateConfiguration configuration = new UpdateConfiguration()

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)
        //设置了此参数,那么会自动判断是否需要更新弹出提示框
        .setApkVersionCode(2)
        .setApkDescription("更新描述信息(取服务端返回数据)")
        .download();

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

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

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

使用技巧

  • 框架内部支持中/英文 国际化(其他语言只需要在对应的string.xml中取相同的名字即可)
  • 如果你需要修改框架内部的一些文字,你只需要在string.xml中取相同的名字即可以覆盖框架内设定的
  • 查看版本库中的Log只需要过滤AppUpdate开头的Tag
  • 支持校验安装包的MD5避免重复下载,只需要DownloadManager设置安装包的MD5即可
  • 下载完成 打开新版本后删除旧安装包文件,实现思路请移步此处
//旧版本apk的文件保存地址
boolean b = ApkUtil.deleteOldApk(this, getExternalCacheDir().getPath() + "/appupdate.apk");
  • 温馨提示:升级对话框中的内容是可以上下滑动的哦!
  • 如果需要实现自己一套下载过程,只需要继承BaseHttpDownloadManager 并使用listener更新进度
public class MyDownload extends BaseHttpDownloadManager {}

版本更新记录

赞赏

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

  • App Update Installation(安装) 1.安装Cordova和Ionic原生插件: $ ionic cordova plugin add cordova-plugin-app-update $ npm install --save @ionic-native/app-update Supported platforms(支持平台) Android Usage(用法) 您应该首先在

  • android增量更新—smart app update 谷歌的亲儿子 http://p.codekk.com/detail/Android/huclengyue/SmartUpdate

  • cordoba-android@7.0.0不能用,用6.4.0 cordova platform add android@6.4.0

  • cordova-plugin-android-update App updater for Cordova/PhoneGap 本插件在 cordova-plugin-app-update 的基础上修改的,主要修改内容: 修改了更新提示框样式(网易云音乐APP样式) 提示框中加入了更新详情。 在原插件配置文件中加入了 <remark></remark> 标签,来配置更新内容提示。 Demo Try

  • 引用方式:  dependencies { compile 'com.qianwen:update-app-kotlin:1.2.3' } 报错:java.lang.ClassCastException:MainActivity cannot be cast to android.support.v4.app.FragmentActivity 我是一脸懵逼,然后我仔细看了下我的BaseAc

 相关资料
  • 我正在尝试使用AppUpdateManager在应用程序更新API中实现Android。我首先尝试遵循文档,如果您在这里,那么您知道这是行不通的。 所以我读了十几篇教程和博客文章,介绍了如何实现这个功能。我大概90%在那。对我来说,在用户接受更新后,更新被下载,我的侦听器检测到下载完成,并且我显示自己的消息并回调(大多数教程在这一点上使用了一个Toast(吐司),但这不重要)。如果我的用户点击“r

  • AppUpdater for Android 是一个专注于App更新,一键傻瓜式集成App版本升级的开源库。(无需担心通知栏适配;无需担心重复点击下载;无需担心App安装等问题;这些AppUpdater都已帮您处理好。) 核心库主要包括app-updater和app-dialog。

相关阅读

相关文章

相关问答

相关文档