【问题标题】:How to create a standalone library for Android using NDK?如何使用 NDK 为 Android 创建一个独立的库?
【发布时间】:2015-12-15 00:47:03
【问题描述】:
我知道这很可能是一个问题,可以通过结合以前不同问题的信息来回答,但我真的想不出任何东西。作为构建 Android 项目的新手,我想构建:
- 能够使用蓝牙和网络等组件的 Android 库(将来由应用程序导入)
- 它需要我编写的静态 C 库(我认为应该通过 NDK 使用)
- 它应该易于分发(不依赖于主项目或过于复杂的构建设置)
- 应该有某种应用程序测试项目与其关联,作为某种子项目来测试库
- 我更喜欢使用命令行 Gradle 构建它,但我也接受使用 Android Studio。
我将如何设置这个项目?
【问题讨论】:
标签:
android
android-studio
gradle
build
android-ndk
【解决方案1】:
- NDK 仅适用于 android 库,请遵循正常指南,没有什么特别之处。使用套接字是可以的,如果你的意思是“网络”。原生无法使用BT,但可以通过JNI调用Android BT API
- 您需要 c 源代码而不是静态库,因为 NDK 将为多个架构构建 (arm/armeabi/x86/mips)
- 是的,您可以将构建的so文件发送给其他人,没问题
- 测试没有什么特别之处。通过 JNI 编写 Java 应用和测试库,或者组成一个纯原生应用并直接调用该库。
- Android Studio 使用 Gradle 构建脚本。你可以在命令行中构建,也可以在 Android Studio 中构建,没问题