对JNI,NDK的了解

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");

}

   

猜你喜欢

转载自blog.csdn.net/super_xiaojian/article/details/81057425