NDK是开发JNI的工具集合
JNI(java native interfce)java本地接口,用来java与c/c++交互的技术。
对java程序员来说JNI开发步骤
1、在activity声明一个native的方法
public class HelloActivity extends Activity{
public native String sayHello();
}
2、先把.java文件编译了(javac命令),在scr目录下使用javah com.xxx.HelloActivity 生成带有native的头文件(.h)
3、在main目录下创建jni文件目录,把生成的.h文件,和c文件放进去
jstring Java_com_xxx_HelloActivity_sayHello(JNIEnv* env,jobject obj){
char* text = "hello from c!";
return (**env).NewsStringUTF(env,text);
}
4、在gradle中添加NDK配置,rebulid生成.so文件
defaultConfig {
//...
ndk {
moduleName "Hello"//指定生成的so文件名
abiFilters "armeabi", "armeabi-v7a", "x86"//cpu的类型
}
}
5、调用native方法前要加载C文件
static{
System.loadLibrary("Hello");
}