跳到主要内容

导入 SDK

融云支持在 DevEco Studio 中自动导入手动导入 IMLib SDK

环境要求

  • DevEco Studio 版本号:DevEco Studio NEXT Developer Beta1 5.0.3.502
  • 手机系统版本号:NEXT.0.0.31

自动导入 SDK

  1. 在 DevEco Studio 中,View > Tool Windows 找到 Partner SDK

     partner SDK
  2. 在 DevEco Studio 中,点击左侧边栏的 Partner SDK

    侧边栏的 partner SDK
  3. 选择 社交 或者 Social networking, 您可以看到 融云 IMLib SDK ,然后点击 Install 来安装融云 IMLib SDK。

    自动导入 SDK
  4. 安装 SDK 成功后,您可以在项目根目录的 oh_modules/.ohpm/ 中找到融云 IMLib SDK。

    自动导入 SDK 成功

手动导入 SDK

导入 SDK

  1. 下载鸿蒙SDK

  2. 创建 entry/libs 文件夹,将 SDK har 包 放入其中。

    导入 SDK

命令行安装 SDK

  1. 在工程根路径下执行以下命令行:
ohpm install entry/libs/RongIMLib.har
  1. 执行完后,工程根路径的 oh-package.json5 就会依赖 SDK。
// 工程根路径下的 oh-package.json5
{
"name": "mydemo",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@rongcloud/imlib": "file:entry/libs/RongIMLib.har" // 该配置由命令行生成
},
"devDependencies": {
"@ohos/hypium": "1.0.16",
"@ohos/hamock": "1.0.0"
}
}

entry 配置文件依赖 SDK

entry 同级目录的 oh-package.json5 手动配置 SDK 依赖。

// entry 同级目录下的 oh-package.json5 需要手动配置
{
"name": "mydemo",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@rongcloud/imlib": "file:./libs/RongIMLib.har" // 该配置手动依赖
},
"devDependencies": {
"@ohos/hypium": "1.0.16",
"@ohos/hamock": "1.0.0"
}
}

同步项目

在 entry/oh-package.json5 中点击 Sync Now 同步工程,同步成功之后即可正常使用 IMLib SDK。

同步项目

提示

如果您同步之后依然无法导入 SDK,这可能是 DevEco Studio 的编译缓存导致的问题。您可以尝试把 DevEco Studio 完全关闭之后重新打开 APP 工程来解决问题。

配置项目

配置 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)-模拟器 需要做此项配置。

配置如下:

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

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