JNI开发

来源:互联网 发布:慈溪行知职高论坛 编辑:程序博客网 时间:2024/06/05 00:22

AndroidStudio JNI开发


学习了JNI开发的一些总结
快速入门:
https://developer.android.google.cn/ndk/guides/index.html官网JNI开发入门

为什么要在app开发中使用JNI

原生开发工具包 (NDK) 是一组可让您在 Android 应用中利用 C 和 C++ 代码的工具。 可用以从您自己的源代码构建,或者利用现有的预构建库。

NDK 不适用于大多数初学的 Android 编程者,对许多类型的 Android 应用没什么价值。 因为它不可避免地会增加开发过程的复杂性,所以通常不值得使用。 但如果您需要执行以下操作,

它可能很有用:

  • 从设备获取卓越性能以用于计算密集型应用,例如游戏或物理模拟。
  • 重复使用您自己或其他开发者的 C 或 C++ 库。
  • 在平台之间移植其应用。
  • 重复使用现有库,或者提供其自己的库供重复使用。
  • 在某些情况下提高性能,特别是像游戏这种计算密集型应用

NDK开发常使用到的一些概念

所谓静态、动态是指链接过程,是否完全包所配置的库文件链接在一起
1.原生动态库:
2.原生静态库:
3.JNi原生接口
4.应用二进制界面(ABI)
5.JNI的引入

https://developer.android.google.cn/ndk/guides/concepts.html#naa JNI开发是的一些基本概念
https://developer.android.google.cn/ndk/guides/setup.html#install 如何安装Android NDK
https://developer.android.google.cn/ndk/guides/arch.html CPU架构管理

项目构建:AndroidStudio2.2之后使用CMake更方便
https://developer.android.google.cn/ndk/guides/build.html 项目构建
1.ndk-build工具配置
2.Android.mk 描述开发是源码的文件和关联那些库
3.Application.mk 描述使用的工具、生成的API平台、生成动态库静态库
https://developer.android.google.cn/ndk/guides/cmake.html#variables Cmake使用




参考:

http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.htmlJNI原生接口规范
https://developer.android.google.cn/ndk/guides/abis.html#saABI管理信息
https://cmake.org/ Cmake官网

原创粉丝点击