HarmonyOS C++代码能不能打包成har包并被其他C++代码调用

NDK工程中包含了其他子模块的so,为了管理这些so的版本,是否能通过编译子模块的C++代码为so并打包成har包的方式来进行版本管理。然后ndk工程中的C++代码通过cmake 代码引用子模块har包中的C++头文件和so中的C++函数进行编译打包成新的har包?

HarmonyOS
2024-09-11 11:27:15
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

可以参考官方文档中导出Native的方法并在别的模块中使用:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/har-package-V5#导出native方法

也可以通过如下方法使用跨模块使用har包中的so:在模块级的oh-package.json5中依赖har包和har包的so:

"dependencies": { 
  "libentry.so": "file:./src/main/cpp/types/libentry", //原有模块的so依赖 
  "liblibrary.so": "file:./../library/src/main/cpp/types/liblibrary", 
  "library" : "file:./../library" 
}

并在ets中引入so:

import libraryTest from 'liblibrary.so';
分享
微博
QQ
微信
回复
2024-09-11 15:54:46
相关问题
如何修改C++版本?C++支持情况?
1205浏览 • 1回复 待解决
HarmonyOS 如何调用标准C++
488浏览 • 1回复 待解决
c/c++层主动调用ArkTS存在问题
430浏览 • 1回复 待解决
C++调用ArkTS 定义的方法
2067浏览 • 1回复 待解决
ArkTS与C++互相直接调用
2324浏览 • 1回复 待解决
HarmonyOS C++开发
33浏览 • 1回复 待解决
c++中实例化自定义类调用方法
346浏览 • 1回复 待解决
ts给c++传递数组,c++层如何解析
1941浏览 • 1回复 待解决
ArkTS调用C++类中的成员函数
1347浏览 • 1回复 待解决