赞
踩
- {
- "apiType": "stageMode",
- "buildOption": {
- "artifactType": "obfuscation"
- },
- "targets": [
- {
- "name": "default",
- "runtimeOS": "HarmonyOS"
- }
- ]
- }
警告!
警告!!
警告!!!
观察我们生成的JS中有多少个export,如果有多个,一定要增加下面的配置(巨坑)
- export default {
- GridEditType,
- StateType,
- GridEdit
- }
不要观察你的ets源码中export导出了多少个文件,直接看js的就行,很大的坑。。。
- const composetitlebar = requireNapi('arkui.advanced.composetitlebar');
- const editabletitlebar = requireNapi('arkui.advanced.editabletitlebar');
- const subheader = requireNapi('arkui.advanced.subheader');
- const ComposeTitleBar = composetitlebar.ComposeTitleBar
- const EditableTitleBar = editabletitlebar.EditableTitleBar
- const EditableLeftIconType = editabletitlebar.EditableLeftIconType
- const SubHeader = subheader.SubHeader
NAPI(Native API)是OpenHarmony系统中的一套原生模块扩展开发框架,它基于Node.js N-API规范开发,为开发者提供了JavaScript与C/C++模块之间相互调用的交互能力。这套机制对于鸿蒙系统开发的价值有两方面:
- 鸿蒙系统可以将框架层丰富的模块功能通过js接口开放给上层应用使用。
- 应用开发者也可以选择将一些对性能、底层系统调用有要求的核心功能用C/C++封装实现,再通过js接口使用,提高应用本身的执行效率。
- const vibrator = requireNativeModule('ohos.vibrator')
- const curves = requireNativeModule('ohos.curves')
官方仓库,包含高阶组件https://gitee.com/openharmony/arkui_ace_engine/tree/master/advanced_ui_component
参考代码
arkui_ace_engine: ArkUI framework | ArkUI开发框架 - Gitee.comhttp://xn--so-zg3cr0ikzmu0s不需要sourse,暂时无用,可以将自己的源码放入其中。
注意文件全部小写,只有Cpp文件中包含5个大写,否则调用会出问题
放入下方的三个文件
将所有的subheader改为自己的组件名称gridedit即可
将所有的subheader改为自己的组件名称gridedit,其中标红的地方注意改为大写
然后通过华为的计算云编译为SO包进行调用
参考代码
api/@ohos.arkui.advanced.SubHeader.d.ets · 兵腾傲宇/interface_sdk-js - Gitee.comhttps://gitee.com/bingtengaoyu/interface_sdk-js/blob/master/api/@ohos.arkui.advanced.SubHeader.d.ets仅保留export导出的以及@prop、@Link等组件传值类即可,删除其他无用的接口声明
更新:SO引入其他高阶组件或模块报错闪退的问题
2023/12/15
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。