NDK: No implementation found for native
2011-06-17 10:56
459 查看
Problem:
I met an error when I build a simple ndk app.
error message as below:
04-12 14:35:30.009: WARN/dalvikvm(538): No implementation found for native Lcom/example/MyActivity;.stringFromJNI ()Ljava/lang/String;
04-12 14:35:30.018: DEBUG/AndroidRuntime(538): Shutting down VM
04-12 14:35:30.018: WARN/dalvikvm(538): threadid=1: thread exiting with uncaught exception (group=0x40015560)
04-12 14:35:30.048: ERROR/AndroidRuntime(538): FATAL EXCEPTION: main
java.lang.UnsatisfiedLinkError: stringFromJNI
at com.example.MyActivity.stringFromJNI(Native Method)
at com.example.MyActivity.onCreate(MyActivity.java:16)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Solve:
It cause by wrong function name of native code.
my native code, shown that package is com.play.MyActivity
#include <string.h>
#include <jni.h>
jstring Java_com_play_MyActivity_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI by myself!");
}
my source code, shown that package is com.example.MyActivity
package com.example;
import ...
public class MyActivity extends Activity
{
/** code **/
}
I modified the native code to correct package then problem is sloved.
#include <string.h>
#include <jni.h>
jstring Java_com_example_MyActivity_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI by myself!");
}
转帖:http://twnin.blogspot.com/2011/04/ndk-no-implementation-found-for-native.html
I met an error when I build a simple ndk app.
error message as below:
04-12 14:35:30.009: WARN/dalvikvm(538): No implementation found for native Lcom/example/MyActivity;.stringFromJNI ()Ljava/lang/String;
04-12 14:35:30.018: DEBUG/AndroidRuntime(538): Shutting down VM
04-12 14:35:30.018: WARN/dalvikvm(538): threadid=1: thread exiting with uncaught exception (group=0x40015560)
04-12 14:35:30.048: ERROR/AndroidRuntime(538): FATAL EXCEPTION: main
java.lang.UnsatisfiedLinkError: stringFromJNI
at com.example.MyActivity.stringFromJNI(Native Method)
at com.example.MyActivity.onCreate(MyActivity.java:16)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Solve:
It cause by wrong function name of native code.
my native code, shown that package is com.play.MyActivity
#include <string.h>
#include <jni.h>
jstring Java_com_play_MyActivity_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI by myself!");
}
my source code, shown that package is com.example.MyActivity
package com.example;
import ...
public class MyActivity extends Activity
{
/** code **/
}
I modified the native code to correct package then problem is sloved.
#include <string.h>
#include <jni.h>
jstring Java_com_example_MyActivity_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI by myself!");
}
转帖:http://twnin.blogspot.com/2011/04/ndk-no-implementation-found-for-native.html
相关文章推荐
- NDK调用JNI: No implementation found for native Lcom...
- 高德地图-AndroidStadio-No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNewInsta
- No implementation found for native Lorg/opencv/core/Mat;.n_Mat ()J
- “No implementation found for native…… ”--Jni调用注意事项
- No implementation found for native...
- Android error--No implementation found for native Lcomd
- Android 调用.so包时报错:No implementation found for native Lxxx, java.lang.UnsatisfiedLinkError: XXX时的解决办法(转)
- Android集高德地图报错:No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNewInstance
- Android 调用.so包时报错:No implementation found for native Lxxx, java.lang.UnsatisfiedLinkError: XXX时的解决办法
- Android error--No implementation found for native Lcomd
- Android:No implementation found for native
- No implementation found for native
- Can't load library Android:No implementation found for native
- NDK .so Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方案
- No implementation found for native Lcom/example/dlwx/SerialPort;.open:(Ljava/lang/String;II)L
- JNI调用错误: No implementation found for native
- 【转】Android:No implementation found for native
- [JNI] java.lang.UnsatisfiedLinkError:Native method not found && no implementation found for native ~
- No implementation found for native 以及 java.lang.UnsatisfiedLinkError问题解决一例
- No implementation found for native ...Android JNI问题