在这里大体讲一下jni的基础环境搭建,防止自己忘记到时候又要找。
前提 安装好android的集成开发环境,我这里安装的是android studio 1.5.1,下载android SDK和android NDK,具体版本网上都有,就不加链接了。
.Java 新建一个java文件,代码如下
public class jniTest{//这个类名随意 static{ System.loadLibrary("jniTest");//这个是作为.so文件的文件名 } public native String helloworld(); } local.properties 在最下面增加一行 ndk.dir=你NDK所在的文件夹 app.build.gradle 在文件中在对应位置中增加如下代码 buildTypes{ release{ ... ndk{ moduleName "jniTest"//生成.so的名字 abiFilters "armeabi","armeabi-v7a","x86" } } debug{ ndk{ moduleName "jniTest" abiFilters "armeabi","armeabi-v7a","x86" } } 编译 由于我使用的是android studio 1.5.1 所以我是点开左下角的Terminal进入到\app\intermediates\classes\debug下编译如下 javah -jni package名.jniTest 会在该路径下生成一个.h文件,在java下新建一个名为jni的文件夹,把.h文件拷贝到该文件夹下,并在该文件夹下新建一个c/c++文件,用于编写自己需 要的c/c++程序(PS:如果jni下除了.h文件就只有一个c/c++文件,必须新建一个空的c/c++文件,不然会报错)
run 在Build下进行make project ,成功的话会多出ndk文件夹,在java下就可以使用自己的c/c++函数了。