Agent 7 + Agent 8: - CLAUDE.md 项目上下文 - 各 module README (core/im/push/update/webview/log) - XWebViewStandardHandlers.kt 补全标准 JSBridge handler
50 行
1.1 KiB
Markdown
50 行
1.1 KiB
Markdown
# sdk-update
|
||
|
||
XuqmGroup Android SDK 更新模块。提供 App 版本检查和 APK 下载安装能力。
|
||
|
||
## 依赖
|
||
|
||
```kotlin
|
||
implementation("com.xuqm:sdk-update:VERSION")
|
||
implementation("com.xuqm:sdk-core:VERSION") // 必须
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
```kotlin
|
||
val result = UpdateSDK.checkUpdate(
|
||
appKey = XuqmSDK.appKey,
|
||
platform = Platform.ANDROID,
|
||
)
|
||
|
||
if (result.needsUpdate) {
|
||
UpdateSDK.downloadAndInstall(context, result.downloadUrl)
|
||
}
|
||
```
|
||
|
||
## API
|
||
|
||
| API | 说明 |
|
||
|-----|------|
|
||
| `UpdateSDK.checkUpdate(appKey, platform)` | 检查 App 更新 |
|
||
| `UpdateSDK.downloadAndInstall(context, url)` | 下载 APK 并调起系统安装器 |
|
||
|
||
### UpdateResult
|
||
|
||
```kotlin
|
||
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` 触发系统安装
|
||
- AndroidManifest 中已配置 `@xml/file_paths`(`external-files-path`)
|
||
- 支持 WebSocket 实时推送更新通知
|