6.0 KiB
6.0 KiB
Client SDK 升级指南
📋 当前项目配置
1. Client 模块信息
- 模块类型: 本地模块(Local Module)
- 模块路径:
client/ - 包名:
cn.wildfirechat.client - 当前版本号:
clientVersion = 200(在ClientService.java中定义) - 依赖关系:
- 依赖
mars-core-release模块 - 依赖 AndroidX Lifecycle 组件
- 依赖
2. 相关文件位置
- ClientService.java:
client/src/main/java/cn/wildfirechat/client/ClientService.java - build.gradle:
client/build.gradle - 版本号定义:
ClientService.java:205-private int clientVersion = 200;
🔄 升级方式
方式一:从 Git 仓库更新(推荐)
如果 client 模块是从野火 IM 官方仓库拉取的代码,可以通过 Git 更新:
1. 检查 Git 远程仓库
cd client
git remote -v
2. 拉取最新代码
# 查看远程分支
git fetch origin
# 查看当前分支和远程分支的差异
git log HEAD..origin/main --oneline
# 合并最新代码(谨慎操作,建议先备份)
git pull origin main
3. 解决冲突
如果本地有修改,可能会产生冲突:
# 查看冲突文件
git status
# 手动解决冲突后
git add .
git commit -m "Merge latest client SDK"
方式二:手动替换代码
如果 client 模块是手动集成的,需要手动替换:
1. 备份当前代码
# 备份整个 client 目录
cp -r client client_backup_$(date +%Y%m%d)
2. 下载新版本
- 从野火 IM 官方仓库下载最新版本的
client模块 - 或从官方发布页面下载 SDK 包
3. 替换代码
# 删除旧的 client 目录(保留备份)
rm -rf client
# 复制新版本
cp -r /path/to/new/client client
4. 合并自定义修改
如果有自定义修改,需要手动合并:
- 对比新旧版本的差异
- 将自定义修改应用到新版本
方式三:使用 Maven/Gradle 依赖(如果官方提供)
如果野火 IM 官方提供了 Maven 仓库,可以在 app/build.gradle 中配置:
dependencies {
// 替换本地模块依赖为远程依赖
// implementation project(':client')
implementation 'cn.wildfirechat:client:最新版本号'
}
注意: 需要先确认官方是否提供 Maven 仓库。
📝 升级步骤
步骤 1: 检查当前版本
查看 ClientService.java 中的版本号:
private int clientVersion = 200; // 当前版本
步骤 2: 查看更新日志
- 查看野火 IM 官方更新日志
- 了解新版本的功能和修复
- 确认是否有破坏性变更
步骤 3: 备份项目
# 备份整个项目
git commit -a -m "Backup before client SDK upgrade"
# 或创建分支
git checkout -b backup-before-sdk-upgrade
步骤 4: 更新代码
根据选择的升级方式执行更新操作。
步骤 5: 更新版本号
在 ClientService.java 中更新版本号:
private int clientVersion = 新版本号; // 例如: 201, 202 等
步骤 6: 检查依赖兼容性
检查 client/build.gradle 中的依赖是否需要更新:
dependencies {
api project(':mars-core-release')
api "androidx.lifecycle:lifecycle-viewmodel:2.8.7"
api "androidx.lifecycle:lifecycle-livedata:2.8.7"
api "androidx.lifecycle:lifecycle-process:2.8.7"
api 'com.squareup.okhttp3:okhttp:4.12.0'
implementation 'com.squareup.okio:okio:3.10.2'
}
步骤 7: 同步 Gradle
# 同步项目
./gradlew clean
./gradlew build
步骤 8: 测试验证
- 编译项目,确保无编译错误
- 运行应用,测试核心功能
- 检查是否有 API 变更需要适配
⚠️ 注意事项
1. 版本兼容性
- 检查新版本是否与当前 Android SDK 版本兼容
- 检查是否与
mars-core-release版本兼容 - 检查是否与其他模块版本兼容
2. API 变更
- 查看官方更新日志中的 API 变更说明
- 检查是否有废弃的方法需要替换
- 检查是否有新增的必需配置
3. 配置文件
- 检查
AndroidManifest.xml是否需要更新 - 检查权限配置是否需要调整
- 检查 ProGuard 规则是否需要更新
4. 自定义修改
如果对 client 模块有自定义修改,需要:
- 记录所有自定义修改点
- 在新版本中重新应用这些修改
- 测试自定义功能是否正常
5. 数据库迁移
如果新版本涉及数据库结构变更:
- 查看数据库迁移指南
- 备份用户数据
- 测试数据迁移流程
🔍 版本号说明
Client 版本号
- 位置:
ClientService.java:205 - 格式: 整数(如 200, 201, 202)
- 用途: 标识客户端 SDK 版本,用于服务端兼容性检查
获取当前版本
// 在代码中获取
ChatManager.Instance().getClientVersion();
📚 相关资源
官方资源
- 野火 IM 官方文档: https://docs.wildfirechat.cn/
- GitHub 仓库: https://github.com/wildfirechat/android-chat
- 更新日志: 查看官方仓库的 CHANGELOG 或 Release Notes
项目内参考
android-chat-master/: 参考项目目录client/build.gradle: Client 模块构建配置mars-core-release/: 网络通信核心模块
🛠️ 常见问题
Q1: 升级后编译失败
解决方案:
- 清理项目:
./gradlew clean - 检查依赖版本是否兼容
- 查看编译错误日志,逐个解决
Q2: 升级后功能异常
解决方案:
- 查看官方更新日志,了解变更
- 检查是否有 API 调用方式变更
- 查看官方迁移指南
Q3: 如何回退版本
解决方案:
# 如果使用 Git
git checkout <旧版本commit>
# 如果手动替换
# 从备份恢复
cp -r client_backup_YYYYMMDD client
📌 升级检查清单
- 备份当前代码
- 查看官方更新日志
- 检查版本兼容性
- 更新代码
- 更新版本号
- 同步 Gradle
- 编译测试
- 功能测试
- 性能测试
- 更新文档
最后更新: 2025年11月8日 适用版本: Client SDK v200+