【问题标题】:android ndk : dlopen failed: cannot locate "hb_ft_face_create"android ndk:dlopen 失败:找不到“hb_ft_face_create”
【发布时间】:2016-10-13 04:56:34
【问题描述】:

它在 androd 4.0 中运行良好,但在 android 4.4 和 5.0 中出现错误: java.lang.UnsatisfiedLinkError: dlopen failed: 找不到“libHelloWorld.so”引用的符号“hb_ft_face_create”...

我构建共享库(harfbuzz-ng.so),hb_ft_face_create在harfbuzz-ng.so中,HelloWorld.so使用函数hb_ft_face_create()和hb_ft_font_create()。

但其他功能运行良好。我在 ndk10 和 ndk11 中测试。

【问题讨论】:

  • 您应该发布相关代码和makefile。

标签: android android-ndk java-native-interface harfbuzz


【解决方案1】:

“hb_buffer_destroy”也有同样的问题。 我想问题是某些函数的声明没有编译并附加到 harfbuzz.so 文件中。 我可以通过从头开始编译 Harfbuzz 库并将其静态链接到我的 NDK 库来解决我的问题。 (静态而不是共享)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2016-11-15
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多