跳到主要内容

常见问题

SDK 字节码支持

鸿蒙要求上架的 SDK 支持字节码编译,DevEco-Studio 5.0.3.502 开始支持字节码。

1.0.3 版本开始 SDK 支持字节码,为了支持字节码,需要:

  1. DevEco-Studio 版本不低于 5.0.3.502。
  2. app 需要在项目根路径配置 useNormalizedOHMUrl
// app 根路径下的 build-profile.json5
{
"app": {
"products": [
{
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true
}
}
}
]
}
}

详细信息在鸿蒙字节码编译文档中搜索 useNormalizedOHMUrlhttps://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-build-har-0000001772704332-V5#section215674517314

如果不配置 useNormalizedOHMUrl ,报错信息如下:

> hvigor ERROR: Failed :entry:default@GenerateLoaderJson... 
> hvigor ERROR: byteCodeHar not supported when useNormalizedOHMUrl is not true.
Detail: Please check useNormalizedOHMUrl in the project-level build-profile.json5 file.
> hvigor ERROR: BUILD FAILED in 165 ms

如何解决鸿蒙集合的 List 类型和 UI 的 List 组件类名冲突的问题?

为了解决类似的冲突问题,DevEco Studio 可以在导入的时候做重命名。

//导入时重命名
import AList from '@ohos.util.List';

//使用重命名
let clazzList: AList<MessageContentConstructor> = new AList();

这样 UI 的 List 组件可以正常用 List,集合类型的 List 被重命名为 AList ,两个即可一起使用。

鸿蒙 SDK 如何实现会话列表和聊天页面?

可以参照鸿蒙 Kit SDK 文档

会话列表页面
会话页面

鸿蒙 SDK 如何存储/展示用户信息?

如果使用 IMLib SDK 进行开发,应用需要自己开发 UI 界面,因此用户信息的存储和展示也需要应用自己实现。

如果使用 IMKit + IMLib SDK 进行开发,Kit SDK 处理了用户信息的存储和展示,但用户信息的数据源还需要应用自己实现,并设置给用户信息提供者,参照示例

鸿蒙是否有消息数据库?

鸿蒙和 iOS Android 一样有消息数据库。

路径为 :/data/app/el2/100/database/[packageId]/RongCloud/[AppKey]/[UserId]

数据库 open 时,文件夹路径下有 “storage”、“storage-shm”、“storage-wal”,需将这三个文件拷贝到统一路径下,打开 storage 文件。

建议直接将 RongCloud 整个目录导出来,里面包含消息数据库和日志数据库