当前位置:

首页 > 软件教程 > 问题分析:OpenHarmony4.0Release中的高级组件调用难题

问题分析:OpenHarmony4.0Release中的高级组件调用难题

组件世界
组件世界

组件世界是一款专为Notion类工具和双链笔记软件设计的小组件库。它的价值在于把零散的小功能集中到一个入口里,遇到高频但琐碎的处理任务时不必频繁切换工具。

立即下载
¥11
Windows/macOS/Linux/iOS/Android/Web 2026-09-24
正版软件 Windows macOS软件 Android Linux IOS软件 web 多平台

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

本文目录

    OpenHarmony4.0Release无法调用高级组件问题分析

    想了解更多关于开源的内容,请访问:

    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

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    苹果更新自助维修计划,MacBook Neo等2026款新品电池/屏幕等核心部件可自购更换
    苹果更新自助维修计划,MacBook Neo等2026款新品电池/屏幕等核心部件可自购更换

    苹果自助维修计划再升级:2026款新品核心部件已开放购买 科技圈传来新动态。苹果公司近日悄然更新了其自助维修商店的库存,一个引人注目的变化是:一批预计在2026年3月发布的新品替换部件,已经提前向公众开放了购买通道。 这次更新的产品阵容相当有看点。根据商店信息,覆盖范围包括备受关注的iPhone 1

    三星据传拿下苹果折叠屏面板三年独家供应 今年出货预期300万台
    三星据传拿下苹果折叠屏面板三年独家供应 今年出货预期300万台

    财联社4月8日讯 随着苹果首款折叠屏手机的量产时间点日益临近,相关的供应链消息和产品爆料也愈发密集起来。 周三传出的最新动态颇具分量:为了确保能获得三星全球首款“几乎无折痕”的折叠屏面板,苹果公司已经做出决定,将在未来三年内,独家从三星显示采购用于其折叠屏手机的OLED面板。 据悉,苹果选用的这款折

    Win11 Build预览版26016 如何查看和管理AI相关组件?
    Win11 Build预览版26016 如何查看和管理AI相关组件?

    消息源@PhantomOcean3近日发布推文,表示在微软近期发布的Win11Canary26016预览版更新中,用户可以查看AI相关的组件,且暗示未来可以卸载。微软目前正加速推进Win11系统整合AI元素,为用户带来更个性化、更贴心的使用体验,但并非所有用户都喜欢这些AI元素,因此微软隐藏了卸载选项,方便用户自行选择。我们网友可以通过ViveTool工具来启用上述新功能、新特性:1.从GitHub页面下载Vivetool工具,然后解压缩到任意文件夹,但需要记住该文件夹路径(例如C:\ProgramFil

    Vue文档中的搜索条件组件实现方式
    Vue文档中的搜索条件组件实现方式

    Vue是一款流行的JavaScript应用程序框架,它提供了很多的组件和工具,以方便用户快速构建优秀的Web应用程序。其中一个非常有用的组件是搜索条件组件,可以帮助用户快速筛选和搜索内容。本文介绍了Vue文档中的搜索条件组件实现方式。Vue文档中的搜索条件组件主要由两个组件组成:搜索框组件和条件选择器组件。搜索框组件搜索框组件是一个Vue组件,用于显示和管理

    VUE3入门教程:使用Vue.js插件封装地区选择器组件
    VUE3入门教程:使用Vue.js插件封装地区选择器组件

    VUE3入门教程:使用Vue.js插件封装地区选择器组件Vue.js是一种流行的JavaScript框架,它可以帮助开发者构建高性能、灵活、易于维护的Web应用程序。Vue.js最新版本Vue3带来了许多新功能和改进,其中一个重要的改进是它的组件系统。组件是Vue.js的核心,可以帮助开发者实现高效的代码重用,提高开发效率。Vue.js插件是一种可重用的代码

    PHP安装环境详解:必备组件一览
    PHP安装环境详解:必备组件一览

    PHP安装环境详解:必备组件一览,需要具体代码示例随着网络技术的发展,PHP作为一种广泛使用的脚本语言,被广泛应用于Web开发和服务器端编程。在开始使用PHP进行开发之前,首先需要搭建好PHP的运行环境。本文将为您详细介绍PHP的安装环境,包括必备组件、具体的安装过程以及代码示例,帮助您快速搭建PHP开发环境。一、PHP安装环境必备组件概览在搭建PHP运行环

    如何使用 Vue 实现日历组件?
    如何使用 Vue 实现日历组件?

    Vue是一款非常流行的前端框架,它提供了很多工具和功能,如组件化、数据绑定、事件处理等,能够帮助开发者构建出高效、灵活和易维护的Web应用程序。在这篇文章中,我来介绍如何使用Vue实现一个日历组件。1、需求分析首先,我们需要分析一下这个日历组件的需求。一个基本的日历应该具备以下功能:展示当前月份的日历页面;支持切换到前一月或下一月;支持点击某一天,

    Vue文档中的动态添加/删除组件函数实现方法
    Vue文档中的动态添加/删除组件函数实现方法

    Vue.js是一个流行的JavaScript库,它提供了大量的API和工具来开发交互式的Web应用程序。其中一个特性是能够动态添加、删除组件,让页面的内容更加灵活多变。在Vue官方文档中,有详细的介绍如何实现动态添加/删除组件的函数方法,让我们一起来了解一下。动态添加组件Vue.js提供了一种特殊的组件元素<component&g

    VUE3开发入门教程:使用组件实现分页
    VUE3开发入门教程:使用组件实现分页

    VUE3开发入门教程:使用组件实现分页分页是一个常见的需求,因为在实际开发中,我们往往需要将大量的数据分成若干页以展示给用户。在VUE3开发中,可以通过使用组件实现分页功能,本文将介绍如何使用组件实现简单的分页功能。1.创建组件首先,我们需要创建一个分页组件,使用“vuecreate”命令创建VUE项目,并在src/components目录下创建Pagin

    如何打开win10旧版组件
    如何打开win10旧版组件

    win10旧版组件是需要用户自己去设置里面打开的,因为很多的组件平时都是默认关闭的状态,首先我们需要进入到设置里面,操作很简单,跟着下面的步骤来就可以了win10旧版组件在哪里打开1、点击开始,然后点击“win系统”2、点击进入控制面板3、再点击下面的程序4、点击“启用或关闭win功能”5、在这里就可以选择你要的打开了

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?