Java JNI的本意是Java Native Interface(Java本地接口),它是为了方便Java调用C、C++等本地代码所封装的一层接口。
NDK是Android所提供的一个工具集合,通过NDK可以在Android中更加方便地通过JNI来访问本地代码,比如C或者C++。
可以参考以下文章www.jianshu.com/p/8adf85732…
具体来说有以下几步
- 下载ndk,配置环境变量
配置环境变量时要注意的是配置用户自己的变量,不是系统的变量
- 跟着下面链接或者自己找的文章配置好File->Setting->External tool上面三个javah 、ndk-build、ndk-build clean这三个命令blog.csdn.net/chuhongcai/…
- 新建jni文件夹,在里面新建java类并声明本地方法,再新建Android.mk文件,新建Application.mk文件,新建.cpp文件,在app下面build.gradle文件指定so包的路径,其中ndk闭包要在defaultconfig里面
android{
……
ndk{
moduleName "MyLibrary"
}
sourceSets.main{
jni.srcDirs = []
jniLibs.srcDir "src/main/libs"
}
}
- 执行javah命令生成.h文件,执行ndk-build生产so库
- 最后在程序中调用so库的本地方法