005android初级篇之jni 一个简单的报错No implementation found for

在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类似错误的方法

  1. 确保System.loadLibrary()函数一定被执行了加载了库。
  2. 对应函数函数名是否正确;
  3. 对应参数是否正确;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容