Android 开发之JNI/NDK编程实战(一):android studio3.0配置ndk环境实现jni编程

android studio3.0配置ndk环境实现jni编程

名词解释

    JNI: (Java Native Interface)顾名思义,其为Java 本地的接口调用,使得Java 与 本地其他类型语言(如C、C++)可以交互。

    NDK: (Native Development Kit) 是 Android的一个工具开发包,用于快速开发C、 C++的动态库,并自动将so和应用一起打包成 APK

目录摘要 :

1.ndk开发环境配置(android studio 3.0)

2.新建项目并运行

3. 相关配置分析

4.添加新的C++源文件

1.ndk开发环境配置(android studio 3.0)

android studio已经集成ndk开发环境。打开android studio,点击SDK Manger选项,如下图所示:

选中CMake、LLDB、NDK进行下载安装。安装好之后配置ndk的路径,点击File-->Project Structure

2.新建项目并运行

新建一个android 项目,选择C++ support,如下图。

项目建完之后,我们看看MainActivity

运行结果:

3. 相关配置分析

思考一下,我们的项目是如何实现JNI调用的呢?先来看看工程目录都有哪些变化:

我们看到,新增加的cpp目录下的native-lib.cpp就是我们jni的本地实现,同时我们还看到,目录下多了一个CMakeList.txt文件,打开看看,其中关键的代码是add_library,如下图

图中说到native是so库的名字,那so库在哪里呢?当运行项目后,会在以下目录生成相应的so库

那so库是如何生成的呢,原来是在build.gradle中,通过gradle和cmake协作完成的

4.添加新的C++源文件

4.添加新的C++源文件

有时候我们的项目不止一个C++源文件,新加的C++文件在CMakeList.txt中添加即可。

add_library( # Sets the name of the library.
             native-lib
             # Sets the library as a shared library.
             SHARED
             # Provides a relative path to your source file(s).
             src/main/cpp/native-lib.cpp
             src/main/cpp/MyJni.cpp )

猜你喜欢

转载自blog.csdn.net/pshiping2014/article/details/81628665