1. 程式人生 > >呼叫JNI出錯 java.lang.UnsatisfiedLinkError: No implementation found for

呼叫JNI出錯 java.lang.UnsatisfiedLinkError: No implementation found for

  • 錯誤資訊

    java.lang.UnsatisfiedLinkError: No implementation found for int 
    com.vin.VINAPI.VinKernalInit(java.lang.String, java.lang.String, java.lang.String, int, int, android.telephony.TelephonyManager,android.content.Context) 
    (tried Java_com_vin_VINAPI_vinKernalInit and Java_com_vin_VINAPI_VinKernalInit__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2IILandroid_telephony_TelephonyManager_2Landroid_content_Context_2)
    
    提供so庫的工作人員的c檔案的定義JNI介面為
    Java_com_etop_vin_VINAPI_vinKernalInit
    即:package name必須為:com.etop.vin
    而class name必須為VINAPI
    
    錯誤解決方法
    新建一個包名為com.etop.vin並把VINAPI類移到該包名下,然後重新編譯,成功執行