HarmonyOS 鸿蒙Next如何修改NativeAPI项目中的生成的动态链接库so名称

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何修改NativeAPI项目中的生成的动态链接库so名称

 默认创建的NativeAPI项目生成的工程名为entry,输出文件为libentry.so,如何在DevEcoStudio中集中修改这个工程名称与输出的动态链接库so名称?尝试手动修改过但是会报错

 

2 回复
你说的entry应该是模块名,如果需要修改动态库的名字,需要

1. 在CMakeList里修改对应的模块名;

2. 在对应.cpp文件的注册模块中的.nm_modname修改so的名字;

3. 在src/main/cpp/types/lib模块名/oh-package.json5中修改so的名字;

4. 在模块级oh-package.json5中修改依赖的so名字;

此外,一般建议动态库的名字跟模块名一致。

如果需要修改entry模块的名字需要:

1. 修改模块级的module.json5中的模块名;

2. 修改工程级的buid-profile.json5中的模块名。

更多关于HarmonyOS 鸿蒙Next如何修改NativeAPI项目中的生成的动态链接库so名称的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS 鸿蒙Next中,修改NativeAPI项目中生成的动态链接库(.so)名称,可以通过以下步骤实现:

  1. 修改CMakeLists.txt

    • 打开项目中的CMakeLists.txt文件。
    • 找到设置输出库名称的部分,通常是在add_library命令中。
    • 修改add_library命令中的库名称参数,例如:
      add_library(original_name SHARED src1.cpp src2.cpp)
      
      改为:
      add_library(new_name SHARED src1.cpp src2.cpp)
      
  2. 修改BUILD.gn文件(如果项目使用GN构建系统):

    • 打开BUILD.gn文件。
    • 找到output_name变量,如果没有则添加。
    • 设置output_name为新的库名称,例如:
      shared_library("new_name") {
        sources = [ "src1.cpp", "src2.cpp" ]
      }
      
  3. 重新构建项目

    • 使用构建工具(如ninja或其他CMake兼容的构建工具)重新构建项目。
    • 构建成功后,输出目录中将生成新的.so文件,名称已更改。

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

回到顶部