更新了Android Studio版本之后,在按照之前的方式搭建JNI的开发环境,发现不断的报错,通过查看日志发现,android.useDeprecatedNdk不再支持了让,使用CMake or ndk-build。本文介绍了在低版本和高版本上分别怎么实现,以及总结在搭建过程中遇到的错误和解决办法。
Android Studio 2.2版本以下
1.首先通过SDKManager-SDK Tools下载NDK插件
2.在local.properties文件里面配置NDK路径:
一种方式是在该文件中直接填写NDK的路径
另一种方式是在SDK Location里面配置:在项目上右键->选择open Moulde Settings
3.在在gradle.properties文件中追加下面代码:
android.useDeprecatedNdk=true
4.使用native关键字编写JNI接口
public class JNIUtils {
public static native String getStringFromC();
}
编写之后,make project,在工程目build\intermediates\classes\debug\自己的包名下就可以看到编译后的class文件JNIUtils.class如下图所示:
5.使用javah命令生成.h头文件
5.1 打开Terminal,然后在命令行中先进入到工程的build\intermediates\classes\debug目录下(cd 直接拖拽debug目录即可)
5.2 输入命令:javah 包名.类名
javah com.bysj.myapplication.JNIUtils
在debug目录下就会生成对应的头文件(.h文件)
6. 实现上述头文件里面的方法
6.1 在main目录下新建jni文件夹