【问题标题】:JNI based library for Android used without presence of NDK在不存在 NDK 的情况下使用的基于 JNI 的 Android 库
【发布时间】:2012-11-29 09:43:10
【问题描述】:
我的任务是编写一个 Android 库,该库将使用 JNI 链接在 C++ 中部分实现。
但是,这个库将提供给外部开发人员,我不想麻烦他们安装 NDK 框架。
有没有人开发过包含 JNI 链接、不需要用户环境包含 NDK 的 java 库?
感谢您的帮助
【问题讨论】:
标签:
java
android
c++
sdk
android-ndk
【解决方案1】:
即使您要交付完整的源代码,也要为 NDK 支持的所有架构提供 so 文件。这样他们就不需要使用 NDK 一遍又一遍地构建相同的共享对象 (so) 文件。
您可以通过在您的 Application.mk 中添加 APP_ABI := all 来构建所有受支持的 ABI。所有这些功能都记录在 $NDK/docs 中。
【解决方案2】:
是的,您可以分发预编译的原生二进制文件,“经典”Android 开发人员无需安装 NDK 即可使用这些文件。他们可以将二进制文件放入 libs/ 文件夹(对于您和他们想要支持的所有 ABI),甚至将这些二进制文件保存在他们的源代码控制系统中。
他们应该知道 Eclipse 在更新任何这些二进制文件时不会自动重建 APK。