常见问题
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 如何实现会话列表和聊天页面?
目前鸿蒙 SDK 主要目标是追齐现有的 iOS Android IMLib,所以暂时没有计划开发鸿蒙版本的 IMKit。建议将鸿蒙开源的即时通讯 demo 和融云 IMLib SDK 结合进行开发。
鸿蒙 SDK 如何存储/展示用户信息?
存储和展示用户信息是 iOS 和 Android 平台 IMKit SDK 的业务逻辑。目前鸿蒙 IMLib SDK 暂不涉及此内容。使用鸿蒙 IMLib SDK 进行开发,应用需要自己开发 UI 界面都,因此用户信息的存储和展示也需要应用自己实现。
鸿蒙是否有消息数据库?
鸿蒙和 iOS Android 一样有消息数据库。
路径为 :/data/app/el2/100/database/[packageId]/RongCloud/[AppKey]/[UserId]
数据库 open 时,文件夹路径下有 “storage”、“storage-shm”、“storage-wal”,需将这三个文件拷贝到统一路径下,打开 storage 文件。