HarmonyOS 鸿蒙Next 工程中有包含native的静态库module,module需要单独安装吗

发布于 1周前 作者 zlyuanteng 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 工程中有包含native的静态库module,module需要单独安装吗

工程中新创建了一个module,用于C++代码开发,所有引用配置完成后编译通过,上机器测试时运行到调用C++函数的地方就会闪退

检查日志有打印:

load module default/mycpp failed. module path is empty
First attempt: load app module failed. Error loading shared library libmycpp.so: No such file or directory 

像是缺少so导致的,是不是so需要单独安装啊


更多关于HarmonyOS 鸿蒙Next 工程中有包含native的静态库module,module需要单独安装吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

检查下项目级的build-profile.json5是否加了这个modle,示例:

"modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    },
    {
      "name": "mycpp",
      "srcPath": "./mycpp",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }
  ] 

更多关于HarmonyOS 鸿蒙Next 工程中有包含native的静态库module,module需要单独安装吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个是有的,创建module的时候就自动添加了

很喜欢HarmonyOS的卡片式设计,信息一目了然,操作也更便捷。

试了下,新创建了native模块,然后加上了依赖没有问题:

cke_1097.png

cke_1382.pngcke_2033.png

奇怪了,我在真机和模拟器上都是找不到so,你只配置了依赖吗

是的,重点就上面所说的,所以可以检查下还有哪里有影响了

补充说明

cke_5942.png

cke_1144.png

cke_584.png

报错日志:

cke_2381.png

cke_2927.png

在HarmonyOS鸿蒙Next工程中,若包含native的静态库module,通常这些静态库会在构建过程中被集成到最终的应用或系统中,而不需要用户单独安装。

静态库(.a文件)是在编译时被链接到目标程序中,与最终的可执行文件或库文件融为一体。因此,在HarmonyOS项目的构建配置中,只需正确设置静态库的路径和链接选项,确保构建系统能够找到并链接这些库。一旦项目成功构建,静态库的内容就已经包含在生成的可执行文件或库中,用户无需额外安装静态库文件。

在鸿蒙的Build.gradle或CMakeLists.txt等构建脚本中,应明确指定静态库的路径和名称,以及相关的编译和链接选项。这样,在编译和打包应用时,构建系统会自动处理静态库的链接工作。

如果项目构建后,运行或部署时出现与静态库相关的错误,通常是因为构建配置不正确或静态库本身存在问题。此时,应检查构建脚本和静态库文件的完整性及正确性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部