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 )