导入 SDK
融云支持在 DevEco Studio 中自动导入和手动导入 IMKit SDK。
您可以打开OpenHarmony三方库中心仓,搜索关键字 rongcloud 查看融云相关的 SDK。
环境要求
- DevEco Studio NEXT Release(5.0.3.900) 及以上。
- HarmonyOS SDK API 12 及以上。
- 手机系统版本号:NEXT.0.0.31。
- 真机华为 Mate 系列。真机运行需要配置证书,详情参考鸿蒙的[签名指南]文档。
- 模拟器。详 情参考鸿蒙的[模拟器运行指南]文档。
自动导入 SDK
IMKit SDK 支持从 OpenHarmony三方库中心仓 获取 SDK。
1.在鸿蒙主工程 entry 目录中的 oh-package.json5 中添加 SDK 依赖,然后点击 "Sync Now"。
// entry 目录中的 oh-package.json5
{
"name": "entry",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@rongcloud/imkit" : "x.y.z",
"@rongcloud/imlib" : "x.y.z"
}
}

注意
- 各个 SDK 的最新版本号可能不相同,具体 x.y.z 值可前往 融云官网 SDK 下载页面 或 OpenHarmony三方库中心仓 查询。
2.安装 SDK 成功后,您可以在项目根目录的 oh_modules/.ohpm/ 中找到融云 IMKit SDK。

手动导入 SDK
1.将 SDK 放入 App 仓库
在项目根路径创建 libs 目录,将从融云官网 SDK 下载页面下载的 IMLib.har 和 IMKit.har 放到 libs 目录。
2.重写 IMLib 依赖
在项目根路径 oh-package.json5 中重写 IMLib 的依赖,如果没有这一步,IMKit 无法正确依赖 IMLib。
原因:IMKit 无法扫描工程目录自动找到 IMLib 所在位置,所以通过 overrides 配置指明 IMLib 所在位置,然后 IMKit 就可以正常依赖 IMLib。
overrides 配置参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-oh-package-json5-V5#zh-cn_topic_0000001792256137_overrides 。
// 项目根路径 oh-package.json5
{
"modelVersion": "5.0.0",
"description": "Please describe the basic information.",
"dependencies": {
},
"devDependencies": {
"@ohos/hypium": "1.0.19",
"@ohos/hamock": "1.0.0"
},
// 重写 imlib 的位置,确保 IMKit 能够正确依赖 IMLib
"overrides": {
"@rongcloud/imlib" :"file:./libs/RongIMLib.har"
}
}
3.进入到 entry 目录中执行相关命令使 App 依赖 IMLib & IMKit
# 1. 进入 entry 目录
cd entry
# 2. 依赖 IMLib
ohpm install ../libs/RongIMLib.har
# 3. 依赖 IMKit
ohpm install ../libs/RongIMKit.har
配置项目
配置 useNormalizedOHMUrl
1.0.3 版本开始 SDK 支持字节码,为了支持字节码,app 需要在项目根路径配置 useNormalizedOHMUrl。
// app 根路径下的 build-profile.json5
{
"app": {
"products": [
{
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true
}
}
}
]
}
}
详细信息请参考 FAQ
配置 abi
DevEco Studio 当前支持的平台分别为 Windows(64-bit)、Mac(x86)、Mac(Arm)。
鸿蒙 IMSDK 支持 arm64-v8a、x86_64 两种 abi 架构。
DevEco Studio NEXT Developer Beta1 5.0.3.403 不支持编译 armeabi-v7a,会报错 ""armeabi-v7a" not supported for HarmonyOS. "
DevEco Studio 和 SDK abi 映射关系如下
DevEco Studio 平台 | 设备 | SDK abi | SDK 是否支持 |
---|---|---|---|
Windows(64-bit) | 真机 | arm64-v8a | 支持 |
Windows(64-bit) | 模拟器 | x86_64 | 支持 |
Mac(x86) | 真机 | arm64-v8a | 支持 |
Mac(x86) | 模拟器 | x86_64 | 支持 |
Mac(Arm) | 真机 | arm64-v8a | 支持 |
Mac(Arm) | 模拟器 | arm64-v8a | 支持 |
DevEco Studio 默认仅支持 arm64-v8a,因此 Windows(64-bit)-模拟器 和 Mac(x86)-模拟器 需要做此项配置。
配置如下:
// 在 entry 目录下的 build-profile.json5
{
"apiType": "stageMode",
"buildOption": {
"externalNativeOptions": {
// 配置 abi 支持 arm64-v8a、x86_64
"abiFilters": [
"arm64-v8a",
"x86_64"
]
}
},
"buildOptionSet": [
{
"name": "release",
"arkOptions": {
"obfuscation": {
"ruleOptions": {
"enable": true,
"files": [
"./obfuscation-rules.txt"
]
}
}
}
},
],
"targets": [
{
"name": "default"
},
{
"name": "ohosTest",
}
]
}
移除 x86_64 架构
x86_64 架构用于 Windows(64-bit)-模拟器 和 Mac(x86)-模拟器。当 app 发版时可以移除 x86_64 架构,减小包体积。
// 在 entry 目录下的 build-profile.json5
{
"apiType": "stageMode",
"buildOption": {
"nativeLib": {
"filter": {
"excludes": [
// 过滤 x86_64 目录下的所有 so
"x86_64/*"
]
}
}
},
"buildOptionSet": [
{
"name": "release",
"arkOptions": {
"obfuscation": {
"ruleOptions": {
"enable": true,
"files": [
"./obfuscation-rules.txt"
]
}
}
}
},
],
"targets": [
{
"name": "default"
},
{
"name": "ohosTest",
}
]
}
参考鸿蒙文档中的 excludes 字段 :https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-build-profile-V5
添加 SDK 依赖权限
SDK 需要权限如下:
权限名称 | 权限说明 | 使用目的 |
---|---|---|
ohos.permission.GET_NETWORK_INFO | 获取网络信息 | 网络变化之后获取网络信息,进行 IM 重连 |
ohos.permission.INTERNET | 使用网络 | 连接 IM 、收发消息需要网络连接 |
ohos.permission.STORE_PERSISTENT_DATA | 数据存储 | 消息数据库需要本地存储 |
具体权限配置参考鸿蒙的[应用权限管控文档]。