HarmonyOS modules-cpp-types下的oh-package.json5与.d.ts文件的关系可否是一对多的?
entry引用modules(har),modules的cpp-types中有3个cpp(A.cpp、B.cpp、C.cpp)代码,在三个cpp里面都调用了static napi_value Init(napi_env env, napi_value exports)方法和napi_module_register(&frameModule)方法。(这里modname分别对应a’,b’,c’)
首先,诉求是entry能够调用modules里export出去的所有native方法。
但目前理解是需要打成三个a’.so、b’.so、c’.so对外提供才可以实现?是否可以合并成同一个so?
如果modules-cpp-typs下的一个oh-package.json5对应三个cpp的.d.ts,是否可以输出一个so文件对外支持三个cpp的方法?如果可以的话,那上述napi_module_register方法中modname是不是就变成了一个?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 工程级oh-package.json5与模块级oh-package.json5有何不同
232浏览 • 1回复 待解决
#鸿蒙学习大百科#工程下的oh-package.json5于模块下的oh-package.json5有什么区别?
586浏览 • 1回复 待解决
oh-package.json5实现动态依赖的方式
1064浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何配置oh-package.json5文件中的dependencies以支持types字段的全局引入?
314浏览 • 1回复 待解决
HarmonyOS 工程级和模块级的oh-package.json5配置依赖的问题
108浏览 • 1回复 待解决
怎么用命令安装oh-package.json5内声明的所用依赖库?
1014浏览 • 1回复 待解决
HarmonyOS HAR编译为什么会丢失oh-package.json5里的main字段
279浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中的oh-package.json5中添加模块依赖?
616浏览 • 1回复 待解决
怎么在代码中获取oh-package.json5文件中version字段的值?
2900浏览 • 0回复 待解决
HarmonyOS Ability和Page是一对多的关系,什么场景需要使用多个Ability?
698浏览 • 1回复 待解决
在HSP export类时,ts文件是按.d.ts导出还是.d.ets导出
2142浏览 • 1回复 待解决
有用户表与权限表,还有材料表,画ER图的问题,材料表与用户表是一对多还是一对一?
2177浏览 • 1回复 待解决
HarmonyOS 项目级别的oh-package.json5文件的hooks代码块如何编写,有无示例代码?
224浏览 • 1回复 待解决
如何获取设备ID以及oh-package.json5文件中version字段、包名等基础信息?
2217浏览 • 1回复 待解决
HarmonyOS 通过hook以及插件上下文实现动态配置oh-package.json5
428浏览 • 1回复 待解决
发现新版本没有新建ts和d.ts文件的选项,但是使用开源库中的ts和d.ts文件还是可以使用,在未来还会支持吗?
1775浏览 • 1回复 待解决
HarmonyOS SDK .d.ts 声明问题
1095浏览 • 1回复 待解决
在项目的oh-package.json5文件里面配置parameterFile后,无法使用ohpm 安装依赖
551浏览 • 1回复 待解决
HarmonyOS 如何看d.ts里面方法的源码实现
528浏览 • 1回复 待解决
HarmonyOS oh_package.json5依赖传递问题
989浏览 • 1回复 待解决
HarmonyOS 在oh-package.json5里面需要配置不同情况依赖不同的库,需要怎么配置
208浏览 • 1回复 待解决
怎么让项目全局使用d.ts
3553浏览 • 1回复 待解决
因为在三个cpp里都进行了模块注册,所以是会打包出三个so的。
1、可以在CmakeLists.txt文件中
并将三个cpp合并进一个统一的modulename中,只进行一次模块注册,这样三个cpp文件都会打包进libentry.so中。
2、不同的的modulename对应不同的so,如回答1,可以将三个cpp文件合并并指定一个统一的modulename,这样就可以打包进同一个so里。
不用把三个类合并成一个类,可以把不同的类写在不同的cpp文件里,对应的cpp文件包含类的函数。然后在napi_init.cpp里引用这些类的头文件,最后在napi_init.cpp里统一进行模块注册(napi__module_register),这样就可以打进一个so包里,即modulename统一,然后调用一次napi__module_register即可。