跳到主要内容

导入 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"。

JSON
// 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"
}
}
 partner SDK

注意

2.安装 SDK 成功后,您可以在项目根目录的 oh_modules/.ohpm/ 中找到融云 IMKit SDK。

自动导入 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

TypeScript
// 项目根路径 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

sh
# 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-v8ax86_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 abiSDK 是否支持
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)-模拟器 需要做此项配置。

配置如下:

JSON
// 在 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 架构,减小包体积。

JSON
// 在 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数据存储消息数据库需要本地存储

具体权限配置参考鸿蒙的[应用权限管控文档]。