首页 > 解决方案 > 在 Flutter 插件中从 Objective-C 加载原生 C 库

问题描述

我有一个内置的原生 C 库(.so),适用于 android 和 iOS 版本。我希望它们在我正在构建的颤振应用程序中使用。对于 android,我在 Java 中使用 System.loadLibrary() 来加载文件(包装在 中JNI),它是通过Gradlebuild包含的system/CMake。但是我如何在目标 C 中为 iOS 获得相同的结果?

标签: iosobjective-cflutternative

解决方案


似乎我可以在库上使用 dlopen() ,然后在每个函数中使用 dlsym() 以在运行时将它们的符号放入应用程序中。看起来很垃圾,但我想它可以工作(当我在某个时候说服构建系统将 lib 包含到它构建的实际包中时。


推荐阅读