导入 SDK
融云支持在 DevEco Studio 中自动导入和手动导入 IMLib SDK。
环境要求
- DevEco Studio 版本号:DevEco Studio NEXT Developer Beta1 5.0.3.502
- 手机系统版本号:NEXT.0.0.31
自动导入 SDK
-
在 DevEco Studio 中,View > Tool Windows 找到 Partner SDK。
-
在 DevEco Studio 中,点击左侧边栏的 Partner SDK。
-
选择 社交 或者 Social networking, 您可以看到 融云 IMLib SDK ,然后点击 Install 来安装融云 IMLib SDK。
-
安装 SDK 成功后,您可以在项目根目录的 oh_modules/.ohpm/ 中找到融云 IMLib SDK。
手动导入 SDK
导入 SDK
-
创建 entry/libs 文件夹,将 SDK har 包 放入其中。
命令行安装 SDK
- 在工程根路径下执行以下命令行:
ohpm install entry/libs/RongIMLib.har
- 执行完后,工程根路径的 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-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 | 数据存储 | 消息数据库需要本地存储 |
具体权限配置参考鸿蒙的应用权限管控文档。