如何使用NDK为Android创建独立库?

如何使用NDK为Android创建独立库?,android,android-studio,gradle,build,android-ndk,Android,Android Studio,Gradle,Build,Android Ndk,我知道这可能是一个问题,可以通过结合前面不同问题的信息来回答,但我真的想不出什么。作为Android项目的新手,我想构建: 安卓库(将来由应用程序导入)能够使用蓝牙和网络等组件 它需要我编写的静态C库(我认为应该通过NDK使用) 它应该易于分发(不依赖主项目或过于复杂的构建设置) 应该有某种类型的应用程序测试项目与之关联,作为某种类型的子项目来测试库 我更喜欢使用命令行Gradle构建它,但我也接受使用androidstudio 我将如何着手建立这个项目 NDK仅适用于android库,请遵

我知道这可能是一个问题,可以通过结合前面不同问题的信息来回答,但我真的想不出什么。作为Android项目的新手,我想构建:

  • 安卓(将来由应用程序导入)能够使用蓝牙和网络等组件
  • 它需要我编写的静态C库(我认为应该通过NDK使用)
  • 它应该易于分发(不依赖主项目或过于复杂的构建设置)
  • 应该有某种类型的应用程序测试项目与之关联,作为某种类型的子项目来测试库
  • 我更喜欢使用命令行Gradle构建它,但我也接受使用androidstudio
我将如何着手建立这个项目

  • NDK仅适用于android库,请遵循普通指南,没有什么特别之处。使用套接字是可以的,如果你的意思是“联网”。在本机中不可能使用BT,但您可以通过JNI调用Android BT API
  • 您需要c源代码,而不是静态库,因为NDK将构建多拱门(arm/armeabi/x86/mips)
  • 是的,您可以将生成的so文件发送给其他人,没有问题
  • 测试没有什么特别的。通过JNI编写Java应用程序和测试库,或者编写纯本机应用程序并直接调用库
  • Android Studio使用Gradle构建脚本。您可以在命令行中构建,也可以在Android Studio中构建,没有问题