用手机扫描下载
版本更新是一款让你在手机上可以使用的软件更新库工具,应用的过程是开源的,占用的内存相当小,但可以随意定制,得到的使用效果更好,不管是使用版本库内置的对话框,还是自己的对话框更新都行,操作简单,让你可以随意使用,对应的运行速度很快。
第一步.app/build.gradle添加依赖
implementation 'io.github.azhon:appupdate:4.3.4'
由于GooglePlay政策禁止应用内更新,所以可以通过多渠道的方式进处理
第二步:创建DownloadManager
Kotlin
val manager = DownloadManager.Builder(this).run {
apkUrl("your apk url")
apkName("appupdate.apk")
smallIcon(R.mipmap.ic_launcher)
//设置了此参数,那么内部会自动判断是否需要显示更新对话框,否则需要自己判断是否需要更新
apkVersionCode(2)
//同时下面三个参数也必须要设置
apkVersionName('v4.2.2')
apkSize("7.7MB")
apkDescription("更新描述信息(取服务端返回数据)")
//省略一些非必须参数...
build()
}
manager?.download()
Java
第三步:混淆打包,只需保持Activity、Service不混淆
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
1.当调用了设置了最新的VersionCode,则内部会自动判断是否显示对话框、下载和安装apkVersionCode()
适配Android 13通知运行权限,且当设置时,点击对话框的升级按钮会申请通知栏权限,无论是否同意都将会继续下载showNotification(true)
当设置强制更新时,显示的对话框会显示下载进度条forcedUpgrade(true)
2.当没有调用apkVersionCode(),就可以把它当成一个下载器,内部只会进行下载和安装
3.由于Android 10限制后台应用启动Activity,所以下载完成会发送一个通知至通知栏(忽略showNotification的值,需要允许发送通知)
框架内部支持国际化(其他语言只需要在对应的string.xml中取相同的名字即可)
如果你需要修改框架内部的一些文字,你只需要在string.xml中取相同的名字即可以覆盖框架内设定的
查看版本库中的Log只需要过滤AppUpdate开头的Tag
支持校验安装包的MD5避免重复下载,只需要Builder设置安装包的MD5即可
下载完成 打开新版本后删除旧安装包文件
1.由Java编写,也支持Kotlin语法糖,在其中可以无缝集成到个人项目。
2.只需几行代码,即可实现实时检测更新,在其中能提示用户下载安装。
3.提供多种选项,包括进度显示、对话框样式等,满足不同应用的需求。
1.有紧急安全更新可用时,强制用户立即更新应用,效率更高。
2.用户在应用启动时检查更新,提供非侵入性的后台下载体验。
3.调用自定义接口协议,在其中保持与现有后端服务的一致性。