HarmonyOS 鸿蒙Next arkts 如何集成外部的.so库

HarmonyOS 鸿蒙Next arkts 如何集成外部的.so库 现使用arkts开发时,如何调用外部的.so库?之前在android平台使用的so库能否使用,如果不能使用该如何适配到鸿蒙系统?

7 回复

.so的引用demo-华为开发者论坛 | 华为开发者联盟 (链接)

更多关于HarmonyOS 鸿蒙Next arkts 如何集成外部的.so库的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


看第三方库有没有类似的库替代。

可以调 .so 文件,

你可以新创建一个 Native C++ 项目,跑通一个 demo,其中 C++ 项目就是编译成 .so 文件被 ArkTS 调用的。

如果还不行 @我,我后续写一个简单的案例。

你比如我在官方demo里找到一个native C++项目,它已经编译生成了.so库,那么我新建一个新的项目,把这个so库放到这个新的项目下的libs下文件夹中,那么在这个新的项目中如何去调用这个so库中的方法?如何配置,如果可以的话请给个demo,

首先目前的C++项目就是通过调用.so文件来运行的,你项目把对应的.so文件和目录拷贝到新的项目里面的libs下,然后使用按照流程调用就行,明天我更新一个demo给你看看,

我也想要移植Android应用,希望参考下你的demo,

在HarmonyOS(鸿蒙)Next中,集成外部的.so库可以通过以下步骤实现:

  1. 准备.so库文件:确保你有一个适用于鸿蒙系统的.so库文件,并将其放置在项目的libs目录下。

  2. 配置CMakeLists.txt:在项目的CMakeLists.txt文件中,添加.so库的引用。例如:

    add_library(my_shared_lib SHARED IMPORTED)
    set_target_properties(my_shared_lib PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libs/libmy_shared_lib.so)
    target_link_libraries(my_executable PRIVATE my_shared_lib)
    
  3. 在ArkTS中调用Native API:使用Native API来调用.so库中的函数。首先,在ArkTS中声明Native方法:

    declare function nativeFunction(): void;
    
  4. 实现Native方法:在C/C++代码中实现该Native方法,并确保其与ArkTS中的声明一致。

  5. 编译和运行:完成配置后,编译项目并运行,确保.so库被正确加载并调用。

通过以上步骤,你可以在HarmonyOS Next中成功集成外部的.so库。

回到顶部