问题分析:OpenHarmony4.0Release中的高级组件调用难题
想了解更多关于开源的内容,请访问:51CTO鸿蒙开发者社区https://ost.51cto.com1.简介最近在学习北向应用开发时,遇到了一个高级组件-子标题,正好符合我的布局需求。但在调用过程中,出现了cppcrash的问题。经过一番调查后,终于解决了这个bug。现在我来分享一下解决这个问题的过程。2.开发环境系统版本:4.0-ReleaseDevEcoStudio版本:4.0Release(build:4.0.0.600)SDK版本:4.0.10.18(及以上)设备型号:开发者手机在开始设计应用布局

想了解更多关于开源的内容,请访问:
51CTO 鸿蒙开发者社区
https://ost.51cto.com
1.简介
最近在学习北向应用开发时,遇到了一个高级组件-子标题,正好符合我的布局需求。但在调用过程中,出现了cppcrash的问题。经过一番调查后,终于解决了这个bug。现在我来分享一下解决这个问题的过程。
2.开发环境
- 系统版本: 4.0-Release
- DevEco Studio版本: 4.0 Release (build:4.0.0.600)
- SDK版本: 4.0.10.18(及以上)
- 设备型号: 开发者手机
在开始设计应用布局时,我思考是否有系统原生组件可以简化开发流程,避免费力编写自定义组件。最终,我发现了一个令人惊喜的工具:
https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/reference/arkui-ts/ts-composite-components-subheader.md。
参照示例把代码复制到应用之后,编译运行,应用闪退,报cppcrash错误,具体日志没截下来,但是cppcrash一般就是系统代码有问题,然后就在系统源码中搜索subheader,找到了对应的源码:
发现subheader是属于advanced_ui_component这个bundle。
继续调查发现开发者手机的系统组件中并没有包含。
查看advanced_ui_component下的文件夹,发现有个patches,里面有这么一个链接https://gitee.com/openharmony/productdefine_common/pulls/682,打开发现pr关闭了,查看源码修改,是有希望在组件里面添加高级组件的,但是不知道什么原因没有合并
之后我在开发者手机的配置中自己添加了高级组件。
编译运行后发现cppcrash解决了,但是又报了jscrash,提示没有提供OperationType这个类型。
一开始以为是SDK的问题,又是一番左右试探,冥思苦想之后查看源码,发现这么一个低级错误,js源码中,声明的是OperationType,但是导出时写的是OperationStyle!!!
编译之后烧录系统,运行正常了。写到这里不吐不快啊,感觉怎么会有如此低级的错误,代码质量真的急需加强。
想了解更多关于开源的内容,请访问:
51CTO 鸿蒙开发者社区
https://ost.51cto.com
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















