2012-02-07 11 views
0

なぜこのエラーが発生しますか? Java仮想マシンは、メソッドの適切なネイティブ言語の定義を見つけることができない場合にスローされSDL-droidとGThreadで致命的な例外が発生する

I/System.out(1852): libSDL: accelerometer start required: false 
W/dalvikvm(1852): No implementation found for native Lcom/starlon/froyvisuals/DemoRenderer;.nativeInit (Ljava/lang/String;Ljava/lang/String;I)V 
W/dalvikvm(1852): threadid=10: thread exiting with uncaught exception (group=0x40176560) 
E/AndroidRuntime(1852): FATAL EXCEPTION: GLThread 
E/AndroidRuntime(1852): java.lang.UnsatisfiedLinkError: nativeInit 
E/AndroidRuntime(1852): at com.starlon.froyvisuals.DemoRenderer.nativeInit(Native Method) 
E/AndroidRuntime(1852): at com.starlon.froyvisuals.DemoRenderer.onDrawFrame(Video.java:363) 
E/AndroidRuntime(1852): at com.starlon.froyvisuals.GLSurfaceView_SDL$GLThread.run(GLSurfaceView_SDL.java:996) 
W/ActivityManager( 112): Force finishing activity com.starlon.froyvisuals/.MainActivity 
I/System.out(1852): libSDL: stopping accelerometer 
V/SDL  (1852): GLSurfaceView_SDL::onPause() 

答えて

1

ネイティブ

を宣言したことは、ネイティブライブラリlibSDLといくつかの非互換性です。これは古いバージョン(または)の新しいバージョンのいずれかです。

0

自分でvoid Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv * env, jclass cls, jobject obj)を定義する必要があります(これはエントリポイントです)。あなたがC++を使用している場合は、このようにexternブロックでその署名を定義するために世話をする:

extern "C" { 
    JNIEXPORT void JNICALL Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject obj); 
}; 

主な機能の骨格がhttps://github.com/spurious/SDL-mirror/blob/master/src/main/android/SDL_android_main.c

で見つけることができます
関連する問題