005android初級篇之jni 一個簡單的報錯No implementation found for

在android中使用ndk開發(fā)需要使用到j(luò)ni。

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();
}

其中指令沒有被執(zhí)行,改為如下運行正常;
public class JniSocket {

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

    }
    public native void test();
}

檢查jni類似錯誤的方法

  1. 確保System.loadLibrary()函數(shù)一定被執(zhí)行了加載了庫。
  2. 對應(yīng)函數(shù)函數(shù)名是否正確;
  3. 對應(yīng)參數(shù)是否正確;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容