前言: ## 为了在Android OS系统上开发应用程序,Google提供了两种开发包:SDK和NDK。你可以从Google官方查阅到有许多关于SDK的优秀的书籍、文章作为参考,但Google没有提供足够的NDK资料。在现有的书籍中,我认为Cinar O.写于2012年的”Pro Android C++ with the NDK”值得一读。 本文旨在帮助那些缺乏Android NDK经验但又想扩充这方面知识的人们。我所关注的是JNI(本地编程接口,简称JNI)。本文分上下两篇,在上篇中,会从JNI为接口开始讲起;下篇会进行回顾,并给出带两个文件读写功能的实例。 ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 Android开发 小组。参与方式请查看小组简介。 什么是 Android NDK? Android NDK(Native Development Kit )是一套工具集合,允许你用像C/C++语言那样实现应用程序的一部分。 何时使用NDK? Google仅在极少数情况下建议使用NDK,有如下使用场景:
- 必须提高性能(例如,对大量数据进行排序)。
- 使用第三方库。举例说明:许多第三方库由C/C++语言编写,而Android应用程序需要使用现有的第三方库,如Ffmpeg、OpenCV这样的库。
- 底层程序设计(例如,应用程序不依赖Dalvik Java虚拟机)。
配置环境:
- 启动android studio,任意打开一个工程。Tool-->SDK Manager
安装LLDB,CMake,NDK。
- 打开 File --> Project Structure --> SDK Location
select default NDK
- 打开SDK Manager,添加ndk-build,用于生成so文件。
添加配置javah,用于生成Jni的头文件
\