0

我使用 NDK 编译了一个 C 项目并获得了许多 .a 文件,据我所知,它们只不过是静态库。我不确切知道 .a 和 .so 文件之间有什么区别,但我想问:我确切地知道使用 NDK 中的工具链我可以导入所有 .a 文件并获取 .so 文件,但具有 . a 文件如何将 .a 文件包含在 .interface 文件中以 SWIG 整个库?

4

1 回答 1

0

SWIG 不会从库中生成接口文件。您可以提供一个包装器来包含所有相关的头 ( .h) 文件,或者手动创建.i文件,只公开相关C功能。

请注意,Android 应用程序不能使用静态库,您必须构建动态库.so才能使用 JNI。您System.load()将从您的 Java 代码调用以.so从磁盘加载它。

于 2012-09-13T07:31:47.220 回答