XuqmGroup-Web/docs-site/docs/android/setup.md

118 行
3.2 KiB
Markdown

# Android 安装配置
**版本**0.4.x · **最低 Android 版本**API 24 (Android 7.0) · **语言**Kotlin
---
## Gradle 仓库配置
`settings.gradle.kts` 中添加 XuqmGroup Maven 仓库:
```kotlin
dependencyResolutionManagement {
repositories {
maven("https://nexus.xuqinmin.com/repository/android/")
google()
mavenCentral()
}
}
```
---
## 各模块 Artifact 和版本
| 模块 | Artifact | 功能 |
|------|----------|------|
| sdk-core | `com.xuqm:sdk-core` | 初始化、网络、鉴权、Token 存储 |
| sdk-im | `com.xuqm:sdk-im` | 单聊、群聊、消息收发、会话、好友、群组 |
| sdk-push | `com.xuqm:sdk-push` | 自动检测厂商、设备 Token 注册(华为/小米/OPPO/vivo/荣耀/FCM|
| sdk-update | `com.xuqm:sdk-update` | App 更新检查、下载安装(需配置 API Key,设置 `serviceActivated = true`|
| sdk-license | `com.xuqm:sdk-license` | 设备授权注册与验证 |
| sdk-bugcollect | `com.xuqm:sdk-bugcollect` | 崩溃日志、ANR、异常上报 |
`app/build.gradle.kts` 中按需引入:
```kotlin
dependencies {
implementation("com.xuqm:sdk-core:0.4.10")
implementation("com.xuqm:sdk-im:0.4.10")
implementation("com.xuqm:sdk-push:0.4.10") // 按需
implementation("com.xuqm:sdk-update:0.4.10") // 按需
implementation("com.xuqm:sdk-license:0.4.10") // 按需
implementation("com.xuqm:sdk-bugcollect:0.4.10") // 按需
}
```
---
## 配置文件
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放置到以下任一目录:
- `src/main/assets/config/`(推荐)
- `src/main/assets/xuqm/`
文件名不限,只要扩展名为 `.xuqmconfig` 即可。Gradle 插件会在构建时自动扫描这两个目录并注入配置,SDK 运行时自动读取,无需手动指定路径。
---
## BugCollect
异常采集模块可自动收集崩溃日志、ANR 和未捕获异常并上报到服务端。
```kotlin
dependencies {
implementation("com.xuqm:sdk-bugcollect:0.4.10")
}
```
集成了 Gradle 插件后,BugCollect 会随 SDK 自动初始化,无需额外代码。若使用了 `.xuqmconfig` 配置文件,采集服务地址会从配置中自动读取。
---
## 最低 Android API 版本
- `minSdk = 24`Android 7.0
- `compileSdk` 与项目保持一致(建议 34+
- Java 11 / Kotlin 1.9+
---
## ProGuard / R8 混淆规则
各模块已自带 `consumer-rules.pro`,业务方**无需额外配置**。如需手动维护,可添加:
```proguard
# XuqmSDK Core
-keep class com.xuqm.sdk.** { *; }
-keepclassmembers class com.xuqm.sdk.** { *; }
# XuqmSDK IM
-keep class com.xuqm.sdk.im.** { *; }
-keepclassmembers class com.xuqm.sdk.im.** { *; }
# XuqmSDK Push
-keep class com.xuqm.sdk.push.** { *; }
# XuqmSDK Update
-keep class com.xuqm.sdk.update.** { *; }
# XuqmSDK License
-keep class com.xuqm.sdk.license.** { *; }
# GsonIM 消息序列化使用)
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.google.gson.** { *; }
```
---
## 下一步
- [Android IM 接入 →](./im)
- [Android Push 接入 →](./push)
- [Android 版本更新 →](./update)
- [Android 授权管理 →](./license)