1.5 KiB
1.5 KiB
sdk-update
XuqmGroup Android SDK 更新模块。提供 App 版本检查和 APK 下载安装能力。
依赖
implementation("com.xuqm:sdk-update:VERSION")
implementation("com.xuqm:sdk-core:VERSION") // 必须
快速开始
val result = UpdateSDK.checkAppUpdate(context)
if (result.needsUpdate) {
UpdateSDK.downloadAndInstallApk(
context,
ApkInstallRequest(result.downloadUrl, result.versionCode, requireNotNull(result.apkHash)),
)
}
API
| API | 说明 |
|---|---|
UpdateSDK.checkAppUpdate(context, bypassIgnore) |
检查 App 更新 |
UpdateSDK.downloadAndInstallApk(context, request, onProgress) |
下载、校验并调起系统安装器 |
UpdateSDK.setLoginUpdateListener(listener) |
接收登录后自动补检结果 |
UpdateResult
data class UpdateResult(
val needsUpdate: Boolean,
val versionName: String?,
val versionCode: Int?,
val downloadUrl: String?,
val changeLog: String?,
val forceUpdate: Boolean?,
)
工作原理
downloadAndInstall将 APK 下载到getExternalFilesDir(null),通过FileProvider触发系统安装- 安装所需 FileProvider 由依赖的
sdk-file唯一声明,Update 不复制 Manifest 或 paths 资源 - 支持 WebSocket 实时推送更新通知
- 是否要求登录由租户平台配置决定;要求登录时,未登录检查会静默跳过
- 账号切换会取消旧会话检查并清理灰度判断缓存,新会话只自动补检一次