本文首先介绍一下在 Ubuntu 下如何配置 Android NDK 开发环境,然后用一个简单的 hello-jni 项目来介绍 NDK 开发流程,本文的全部代码下载链接:HelloJni.tar.gz,也可以在我的 GitHub 上下载。
1. 简介
什么是 Android NDK 呢? NDK(Native Development Kit) 是一个允许开发者用一些本地语言(C/C++)编写 Android App 的部分功能的工具集。对于一些特定的 App,NDK 非常有利于我们直接使用现成的用 C/C++ 编写的代码库(但对于大多数 App 来说,NDK 是没有必要的)。使用 NDK 进行 C/C++ Android 开发的基本结构和流程如下图(来自shihongzhi博客 ):
在开始之前,这里要提醒大家:NDK 对大多数 App 而言是不会有太多的好处的,在 Android 上使用原生 C/C++ 代码并不会很明显的提升应用的性能,但却增加了你开发应用的复杂度。所以,仅仅在需要使用 NDK 时才使用它 —— 不要因为你更喜欢用 C/C++。典型的 NDK 应用场景是一些 CPU 操作密集而不需要太多内存的场合,如信号处理、物理模拟等等,很多这些处理过程都已经封装到了 Android 系统内部,所以当你不确定是否要使用本地 C/C++ 代码时,先看看你的需求,以及 Android 框架中的 API 是否已经提供你需要的功能。





