2014-01-21 78 views
3

我正在構建原生應用程序。當我想開始這個應用logcat說Android UnsatisfiedLinkError本地方法未找到

FATAL EXCEPTION: SDLThread 
Process: org.libsdl.app, PID: 1560 
java.lang.UnsatisfiedLinkError: Native method not found: org.libsdl.app.SDLActivity.nativeInit:()V 
at org.libsdl.app.SDLActivity.nativeInit(Native Method) 
at org.libsdl.app.SDLMain.run(SDLActivity.java:421) 
at java.lang.Thread.run(Thread.java:841) 

正確加載庫。

Trying to load lib /data/app-lib/org.libsdl.app-1/libSDL2.so 0xb1ddc818 
Added shared lib /data/app-lib/org.libsdl.app-1/libSDL2.so 0xb1ddc818 
Trying to load lib /data/app-lib/org.libsdl.app-1/libmain.so 0xb1ddc818 
Added shared lib /data/app-lib/org.libsdl.app-1/libmain.so 0xb1ddc818 
No JNI_OnLoad found in /data/app-lib/org.libsdl.app-1/libmain.so 0xb1ddc818, skipping init 

在main.so我可以看到

T Java_org_libsdl_app_SDLActivity_nativeInit 
+0

請添加Java代碼中的類和函數頭,以及本機c中的函數頭頌。 – PaF

+0

是用於加載'org.libsdl.app.SDLActivity'類和'libmain.so'庫的同一個類加載器嗎? VM不會搜索庫,除非它們匹配。另請參閱https://android.googlesource.com/platform/dalvik/+/kitkat-release/vm/Native.cpp中的'dvmResolveNativeMethod()',特別是當它到達'findMethodInLib()'時。 – fadden

回答

相關問題