android studio2.3.2增加jni

来源:互联网 发布:帝国cms怎么建站 编辑:程序博客网 时间:2024/06/06 01:02

最近试了下andorid studio增加jni,网上的方式说的太复杂了,这里记录下

android studio2.3版本增加jni的过程,android studio2.3.1和2.3.2都试过能成功.

新建工程时,不要选Include C++ support网上很多介绍要选这个,选这个要装好几个插件,新建工程时就是普通的android project流程finish

新建工程进入后,首先设置ndk路径如下图:


其中NDK版本比较有要求,我试了三个版本NDK只有r10e能成功,其它两个版本都报错.

设置完ndk路径成功后,会在local.properties中多一个ndk.dir=xxx.

接着新建JNI Folder如下图所示:


此时如果是在Android选项下会多出一个cpp文件夹,如果是在Project选项下会多出一个jni文件夹,如下图所示:

这时可以选不用新建c文件,后面我们会让c文件自动成

然后设置app的build.gradle如下图:

在defaultConfig中增加最后面的ndk设置

其中的moduleName后MyTest这个名字指定了最后生成的库的文件名为libMyTest.so,加载的时候需要使用这个名字,也就是说调用System.loadLibrary("MyTest");如果前面自己创建了.c文件这个名字不一定要和.c文件名一致,如果没有创建.c文件,后面自动创建的时候就会创建文件名为MyTest.c的文件

然后修改gradle.properties如下图:


增加android.useDeprecateNdk=true

设置完成后Rebuild一下,就会生成so库,虽然现在还没有.c文件

此时增加native方法后,按Alt+Enter键就会出来下面的选项

点击第一个Create function后会自动创建c文件和对应函数.到这里整个设置就已经成功了,接下来就是去完善这些函数了。

测试工程下载地址:https://github.com/hclydao/JniTest

参考资料:http://www.jianshu.com/p/022c75a3edc9

============================================
作者:hclydao
http://blog.csdn.net/hclydao
版权没有,但是转载请保留此段声明

============================================