一 JNI开发
1、在Java类中声明native方法
创建Java类JNITest.java
public native String get();
2、编译Java源文件获得class文件,然后通过javah命令导出JNI的头文件
javac ./com/wdz/JNITest.java
javah com.wdz.JNITest
在当前目录下,生成com_wdz_JNITest.h的头文件,其中函数的命名规则为Java_包名_类名_方法,
之前声明的get方法,Java_com_wdz_jnitest_JNITest_get
3、实现之前声明的native方法
一般在main目录下创建jni目录,把刚才生成的头文件拷贝进去,然后创建一个.c文件
4、编译so库,然后在Java中进行调用
可以利用gcc工具进行编译,完成后可以调用
二、NDK编程
手动编译
1、在Java文件中声明native方法
2、创建c文件,实现所声明的native方法,同时创建Android.mk文件
3、利用ndk-build命令产生so库
自动编译
1、在Java文件中声明native方法
2、创建c文件,实现所声明的native方法,同时创建Android.mk文件
3、修改app下的build.gradle文件,让Android Studio自动生成so文件