Android App update library. Android版本更新库,简单、轻量、可随意定制
apkVersionCode()
设置了最新的VersionCode,则内部会自动判断是否显示对话框、下载和安装showNotification(true)
时,点击对话框的升级按钮会申请通知栏权限,无论是否同意都将会继续下载forcedUpgrade(true)
时,显示的对话框会显示下载进度条apkVersionCode()
,就可以把它当成一个下载器,内部只会进行下载和安装
app/build.gradle
添加依赖implementation 'io.github.azhon:appupdate:4.3.2'
android {
//...
productFlavors {
other {}
googlePlay {}
}
}
dependencies {
otherImplementation 'io.github.azhon:appupdate:latest-version'
googlePlayImplementation 'io.github.azhon:appupdate-no-op:latest-version'
}
DownloadManager
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()
DownloadManager manager = new DownloadManager.Builder(this)
.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();
Activity
、Service
不混淆-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
string.xml
中取相同的名字即可)string.xml
中取相同的名字即可以覆盖框架内设定的AppUpdate
开头的TagBuilder
设置安装包的MD5即可//旧版本apk的文件保存地址
val result = ApkUtil.deleteOldApk(this, "${externalCacheDir?.path}/appupdate.apk")
BaseHttpDownloadManager
class MyDownload : BaseHttpDownloadManager() {}
v4.3.2(2023/12/18)
如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激赞赏列表