linux 编译so库文件,供java调用,java声明库中函数的类如下
package com.xxxx.jni;
public class GgoSdk {
static {
System.load("/home/server/libs/libGgoSdkjni.so");
}
public native int GgoInit(String inFile, String outFile, boolean beStandard, int[] checkAttr, String cdzxlc);
}
java调用类如下:
GgoSdk ggoSdk = new GgoSdk();
ggoSdk.GgoInit(test.getFile(), "", false, checkAttr, cdzxlc);
编译so库对应的方法定义如下:
extern "C" JNIEXPORT jint JNICALL Java_com_xxxx_jni_GgoSdk_GgoInit(JNIEnv * env, jobject obj, jstring inFilePath, jstring outFilePath, jboolean standardGather, jintArray configAttr, jstring cdzxlc)
运行报错如下:
java.lang.NoClassDefFoundError: Could not initialize class com.xxxx.jni.GgoSdk
有没有哪位遇到过,指导一下,或者是不是我java调用so的方式有错?