常见问题
SDK 字节码支持
鸿蒙要求上架的 SDK 支持字节码编译,DevEco-Studio 5.0.3.502 开始支持字节码。
1.0.3 版本开始 SDK 支持字节码,为了支持字节码,需要:
- DevEco-Studio 版本不低于 5.0.3.502。
- app 需要在项目根路径配置 useNormalizedOHMUrl。
// app 根路径下的 build-profile.json5
{
"app": {
"products": [
{
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true
}
}
}
]
}
}
详细信息在鸿蒙字节码编译文档中搜索 useNormalizedOHMUrl
:https://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
整个目录导出来,里面包含消息数据库和日志数据库