[英]Android - java.lang.UnsatisfiedLinkError: Native method not found
IDE:Android Studio
我在“ jniLibs”文件夾下有靜態庫。
我還加載了該庫。 這是我使用的代碼:
static
{
System.loadLibrary("elianjni");
}
本機方法在單獨的類(ElianNative)上聲明為:
public native int InitSmartConnection(String paramString, int paramInt1, int paramInt2);
public native int StartSmartConnection(String paramString1, String paramString2, String paramString3, byte paramByte);
但是,當我調用方法InitSmartConnection
,應用程序崩潰了,錯誤是:
java.lang.UnsatisfiedLinkError: Native method not found: com.monitor.camera.connect.ElianNative.InitSmartConnection:(Ljava/lang/String;II)I
at com.monitor.camera.connect.ElianNative.InitSmartConnection(Native Method)
我不知道可能的原因,因為我只是從另一個WORKING項目復制了該庫,然后在聲明方法和導入必要的標頭方面做了同樣的事情。
可能導致這種問題的原因是什么? 我在堆棧上搜索,有人說這是.c文件中的方法之前缺少Java關鍵字的原因。 但是我不認為這可能是問題所在,因為就像我說的那樣,它被用在另一個運行良好的項目中。
如果您已從其他項目復制了本機庫二進制文件( .so
),則必須確保:
還要檢查System.loadLibrary()
成功結束,並且在logcat中沒有錯誤日志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.