005 android jni 一個簡單的報錯

在android中使用ndk開發須要使用到jni。java

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");
}android

public native void test();
}

其中指令沒有被執行,改成以下運行正常;
public class JniSocket {socket

JniSocket()
    {
        //static {
            System.loadLibrary("SmartSocket");

    }
    public native void test();
}

檢查jni相似錯誤的方法函數

  1. 確保System.loadLibrary()函數必定被執行了加載了庫。
  2. 對應函數函數名是否正確;
  3. 對應參數是否正確;
相關文章
相關標籤/搜索