OpenHarmony开发者论坛
标题:
OpenHarmony 导入so库后调用接口失败
[打印本页]
作者:
18025342273
时间:
2024-3-11 11:02
标题:
OpenHarmony 导入so库后调用接口失败
[md]1,先新建native c++工程
![image.png](
https://forums-obs.openharmony.c ... zsutxk32kvyvovz.png
"image.png")
编译后会有libentry.so
2,再新建一个OpenHarmony工程,把第一步的libentry.so拷贝到libs目录下,结构图如下
![image.png](
https://forums-obs.openharmony.c ... phu0pmbhanfhpyr.png
"image.png")
3,在index.ets里面做了如下调用
![image.png](
https://forums-obs.openharmony.c ... 92ye4h4jf114u9h.png
"image.png")
4,编译运行后,报错如下
![image.png](
https://forums-obs.openharmony.c ... x3r2xzjdjrjknxz.png
"image.png")
[/md]
作者:
深开鸿_王石
时间:
2024-3-11 18:09
不能这么copy,会少d.ts文件,你看那个nativec++工程里有那个文件的,所以才说缺少声明
作者:
SEA-365
时间:
2024-3-20 17:36
回复
深开鸿_王石
: 请问应该怎么使用呢
作者:
SEA-365
时间:
2024-3-20 17:37
您好,目前是如何导入so文件的呢,感谢!
作者:
18025342273
时间:
2024-3-21 18:09
回复
SEA-365
: 1,导入libs
2,导入typse文件夹
3,打开src/oh-package.json5文件在dependencies里面加入如下代码
"libxx.so": "file:./src/main/cpp/types/libxx"
作者:
rice_fried_egg
时间:
2024-3-25 16:21
错误很明显啊, 你在加载so的时候就已经报错了。testNapi是undefined,
你过滤一下日志NAPI,会有错误日志打印,libentry.so 应该还依赖的别的so文件。
作者:
深开鸿_王石
时间:
2024-3-27 14:40
回复
SEA-365
: 这个在回复区讲就好复杂,正常逻辑就是;1,导入so就必须是nativec++工程,然后导入so,头文件,然后写dts和cpp程序;2,还有一种呢是把nativec++工程做har包,然后导入har包用,har包export ts接口;
作者:
深开鸿_王石
时间:
2024-3-28 09:09
回复
SEA-365
: 两种导入法子:看我两个文章吧:
https://forums.openharmony.cn/fo ... thread&tid=2464
,
https://forums.openharmony.cn/fo ... thread&tid=2218
,都是有样例的
作者:
SEA-365
时间:
2024-7-11 15:37
回复
深开鸿_王石
: 请问如何直接调用别人已经编译好的xxx.z.so(有尝试过把xxx.z.so放在开发板的/system/lib/module目录,然后oh里边import,但是好像不行)
作者:
深开鸿_王石
时间:
2024-7-17 16:48
回复
SEA-365
: 不行,要直接放到ide里,然后cmake里加so就行,类似这个文章:
https://forums.openharmony.cn/fo ... thread&tid=3135
作者:
zhikai
时间:
2024-8-8 20:01
回复
深开鸿_王石
: 但是之前OH的官方教程移植Seetaface2的时候就是编写系统层的so文件然后把接口声明文件直接加入SDK文件夹中直接import
作者:
深开鸿_王石
时间:
2024-8-10 15:41
回复
zhikai
: 那是个传统方法,增加framework层的,然后要在sdk里加dts,这样改动大,用这种ndk方法改动小
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5