005 android jni 一个简单的报错
在android中使用ndk开发需要使用到jni。
1. java.lang.UnsatisfiedLinkError: No implementation found for void com.frank.smart.smarthome.JniSocket.test() (tried Java_com_frank_smart_smarthome_JniSocket_test and Java_com_frank_smart_smarthome_JniSocket_test__)
原因:
public class JniSocket {
static {
System.loadLibrary("SmartSocket");
}
public native void test();
}
其中指令没有被执行,改为如下运行正常;
public class JniSocket {
JniSocket()
{
//static {
System.loadLibrary("SmartSocket");
}
public native void test();
}
检查jni类似错误的方法
- 确保System.loadLibrary()函数一定被执行了加载了库。
- 对应函数函数名是否正确;
- 对应参数是否正确;