【发布时间】:2016-04-09 14:27:34
【问题描述】:
我有 thimble.lib 文件,这是我使用此链接中的源文件构建的 C++ 库:
如何在 Android Studio 中添加 thimble.lib?
我可以在 Android NDK 的帮助下在我的应用程序中使用这个库吗?
【问题讨论】:
标签: android c++ android-ndk .lib
我有 thimble.lib 文件,这是我使用此链接中的源文件构建的 C++ 库:
如何在 Android Studio 中添加 thimble.lib?
我可以在 Android NDK 的帮助下在我的应用程序中使用这个库吗?
【问题讨论】:
标签: android c++ android-ndk .lib
是的,您可以通过 NDK 在您的 Android 应用中使用预构建的静态库。先决条件是该库应使用 Android 工具链编译以获取正确的 ABI(例如 armv7-a)。 .lib 后缀可能是一个错字:它属于 Windows 世界,而 Android 和 Unix 使用后缀 .a 表示静态库。
您的 Java 应用无法直接与静态库通信,它需要一个 JNI 包装共享库(.so 文件)。有很多教程可以帮助您准备必要的设置,例如http://kvurd.com/blog/compiling-a-cpp-library-for-android-with-android-studio/.
简而言之,您的包装器会将 Java 实体转换为原生数据类型,并调用从静态库导出的相关函数。
【讨论】: