当前位置:网站首页 > 云服务教程 > 正文

awvs11使用教程(awvs11安装教程)



本文用于说明和介绍编译底层C++代码生成动态库so,并且在harmonyOS项目中如何进行使用和集成,通过openharmony SDK在linux环境下编译动态库so,可打包其他静态库.a打包到此so,然后通过natvie项目(harmonyOS),集成此so并在项目中使用。

主要用于在linux环境下编译动态库so,并且打包一些.a第三方库静态库整合到一个so中,后续在鸿蒙项目中进行使用

3.2.1.创建项目

创建项目

image.png
image.png

3.2.2 native c++项目结构

image.png
  1. so:这里使用的是3.1中编译好的so库
  2. index.d.ts: napi中定义的接口(相当于jni中定义好的接口的头文件)
    image.png


 
   
  1. CMakeLists.txt:编译过android ndk的都知道这里不详细说明了,下面是截图
 
   
  1. hello.cpp:关键文件,相当于android编译中的jni的cpp接口封装文件,harmonyOS中定义为napi,通过此接口的封装可调用底层c++代码的接口.
    这里定义了一个add方法并包含输入和输出的参数。

 

至此harmonyOS-native c++项目架构说明结束。

3.3.1 准备好3.1中编译好的so库,比如HosTest.so

注意:实际编译可能需要生成多个abi架构的so库,armeabi-v7a和arm64-v8a


image.png

3.3.2 将HosTest.so放入libs文件夹(3.2中创建的项目)

这里由于测试只添加了v7a,后续可自行添加.


打开配置文件
修改abi配置文件,build-profile.json5文件
image.png

添加abi配置,根据添加的so文件架构进行配置

3.3.3 将HosTest.so放入libs文件夹(3.2中创建的项目)

① 创建thirdPart文件在cpp下(名称可自定义)


关键文件

② 创建或引入Hello.h文件,此文件为c++项目底层定义的暴露给外部的接口的头文件, 可以看到我们在Hello.h中定义了一个print的方法,并且返回值为string格式,此print方法为我们HosTest.so中的c++底层方法.

 

③ napi接口定义文件中引用Hello

 

④ 修改CMakeLists文件


产出so修改,index.d.et文件上面的.etx描述错误
 
         
修改so名称和步骤①的头文件文件夹路径

完整代码:

 

⑤ 调用so文件接口

 

至此,整体的第三方so库的使用已经完成。如有问题可以参考下面的问题汇总。

4.1.找不到引用的SO对象以及使用的底层方法

HosTest.print()报错


类似这类找不到引用的错误
解决方案:

① 检查cpp下的.ts文件是否定义了接口


image.png

 

oh-package-json5文件的so配置是否一致

 

③ Hello.h头文件是否包含


image.png

④ napi.cpp的文件是否正常


image.png

此问题原因基本就是某个环节配置的名称不匹配导致的,可以逐步检查解决。

4.2. cpp下的.ts文件出现error

image.png
解决方案: 目前不影响接口调用, 修改cpp下的xxxxx.ts文件修改为xxxxx.d.ts文件,之前修改自定义名称的时候没注意(dog.jpg)












到此这篇awvs11使用教程(awvs11安装教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!























版权声明


相关文章:

  • awvs怎么使用(awvs11使用教程)2026-01-30 08:36:18
  • 51单片机电子时钟程序(51单片机电子时钟教程)2026-01-30 08:36:18
  • win10启动u盘制作教程(win10启动盘u盘制作)2026-01-30 08:36:18
  • 程序员入门教程枯(程序员怎么入门,应该学什么)2026-01-30 08:36:18
  • ubuntu镜像u盘安装教程(ubuntu镜像文件安装教程)2026-01-30 08:36:18
  • 跳转链接制作教程(跳转链接制作教程)2026-01-30 08:36:18
  • ad2019安装教程(ad19如何安装)2026-01-30 08:36:18
  • ad20官方中文教程(ad20中文教程pdf)2026-01-30 08:36:18
  • u盘制作系统盘教程(u盘如何制作系统盘)2026-01-30 08:36:18
  • 2258ab量产(2258量产教程)2026-01-30 08:36:18
  • 全屏图片