2014-01-21 2 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 не будет искать библиотеку, если они не совпадают. См. Также 'dvmResolveNativeMethod()' в https://android.googlesource.com/platform/dalvik/+/kitkat-release/vm/Native.cpp, особенно когда он попадает в 'findMethodInLib()'. – fadden

ответ

0

Если использование SDL_Main в качестве точки входа нужно позвонить

void SDL_SetMainReady(void) 

перед тем SDL_Init() Более подробно здесь: http://wiki.libsdl.org/SDL_SetMainReady

Смежные вопросы