我正在尝试在我的应用程序中实现本机库。但无论我尝试什么,我都会遇到错误。
lib的函数以java方式存储在这个类中:
public class GPUImageNativeLibrary{
public static native void YUVtoRBGA(byte[] bArr, int i, int i2, int[] iArr);
static
{
System.loadLibrary("live_effects");
}
}
正在加载中:
GPUImageNativeLibrary.YUVtoRBGA(this.f4944a, this.f4945b.width, this.f4945b.height, this.f4946c.mGLRgbBuffer.array());
日志显示如下:
07-13 11:21:47.092 3491-3517 / com.sigmacode.gifrepeatphoto E / GED:无法获得GED Log Buf,错误(0) 07-13 11:21:49.590 3491-3491 / com.sigmacode.gifrepeatphoto E / AD:setCenter:Here3 07-13 11:21:49.763 3491-3549 / com.sigmacode.gifrepeatphoto E / AD:setCenter:Here3 07-13 11:21:50.201 3491-3549 / com.sigmacode.gifrepeatphoto E / art:找不到void com.sigmacode.gifrepeatphoto.GPUImageNativeLibrary.YUVtoRBGA(byte [],int,int,int [])的实现(试过) Java_com_sigmacode_gifrepeatphoto_GPUImageNativeLibrary_YUVtoRBGA和Java_com_sigmacode_gifrepeatphoto_GPUImageNativeLibrary_YUVtoRBGA___3BII_3I) 07-13 11:21:50.208 3491-3549 / com.sigmacode.gifrepeatphoto E / AndroidRuntime:FATAL EXCEPTION:GLThread 36151 处理:com.sigmacode.gifrepeatphoto,PID:3491 java.lang.UnsatisfiedLinkError:找不到void com.sigmacode.gifrepeatphoto.GPUImageNativeLibrary.YUVtoRBGA(byte [],int,int,int [])的实现(尝试过Java_com_sigmacode_gifrepeatphoto_GPUImageNativeLibrary_YUVtoRBGA和Java_com_sigmacode_gifrepeatphoto_GPUImageNativeLibrary_YUVtoRBGA___3BII_3I) at com.sigmacode.gifrepeatphoto.GPUImageNativeLibrary.YUVtoRBGA(Native Method) at com.sigmacode.gifrepeatphoto.km.gpuimage.CRU_InfotechGPUImageRenderer $ C16601.run(CRU_InfotechGPUImageRenderer.java:61) at com.sigmacode.gifrepeatphoto.km.gpuimage.CRU_InfotechGPUImageRenderer.runAll(CRU_InfotechGPUImageRenderer.java:276) at com.sigmacode.gifrepeatphoto.km.gpuimage.CRU_InfotechGPUImageRenderer.onDrawFrame(CRU_InfotechGPUImageRenderer.java:284) 在android.opengl.GLSurfaceView $ GLThread.guardedRun(GLSurfaceView.java:1583) 在android.opengl.GLSurfaceView $ GLThread.run(GLSurfaceView.java:1286)
我真的找不到任何关于此的文件。