1,调用的地方java类
如下:
package com.ming.camera;
//import android.content.Context;
//如果引用了这些外部包,javac时,必须使用/home/ming/Android/Sdk/platforms/android-23/android.jar参数,具体参考2步骤.
//import android.graphics.Bitmap;
public class LibVGestureDetect {
static
{
System.loadLibrary("BlurModoule");
}
public static native void YUVtoRBGA(byte[] yuv420sp, int width, int height, int[] rgbOut);
}
2,使用javac -classpath /home/ming/Android/Sdk/platforms/android-23/android.jar com/ming/camera/LibVGestureDetect.java 生成LibVGestureDetect.class文件
3,在src目录使用javah -classpath . -jni com.ming.camera.LibVGestureDetect 生成.h文件
(在jni开发中,有时候需要传入一个Context类型参数到C层,在使用javah生成头文件的时候,会报 javah Class android.content.Context could not be found.这个错误,原因是找不到android.content.Context该类,解决方法是,把Context类型改为Object类型即可。)
4,如果出现".class: major version 52 is newer than 51, the highest major version supported by this compiler"错误,说明javac 和javah版本不一致.可以使用"update-alternatives --config javac"切换javac版本重新来过
5,添加BlurModoule.so模块,根据.h文件建立BlurModoule.so模块