Android:No implementation found for native

我自横刀向天笑,去留肝胆两昆仑。这篇文章主要讲述Android:No implementation found for native相关的知识,希望能为你提供帮助。
解决方法:
1.检查native c code的定义:

JNIEXPORT void java_com_example_something_MyClass_getMyString(JNIEnv * env, jobject obj) {

其中:com_example_something为 package名的分解,MyClass为调用该.so的class

2.检查是否.so是否被加载到系统中:
    adb shell ls -l /data/data/com.example.something/lib/
3. 假设lib为libtest.so
【Android:No implementation found for native】    复制该文件到libs目录下,代码中调用:
  static
  {
        System.loadLibrary("test"); //注意没有前缀 lib,对应为LOCAL_MODULE
  }
附:典型的Android.mk
[html]  view plain  copy
  1. LOCAL_PATH  :=  $(call  my-dir)   
  2.    
  3. include  $(CLEAR_VARS)   
  4.    
  5. LOCAL_MODULE        :=  test   
  6. LOCAL_SRC_FILES  :=  mytest.c   
  7.    
  8. include  $(BUILD_SHARED_LIBRARY)  
JNIEXPORT void Java_com_example_something_MyClass_startServer(JNIEnv * env, jobject obj) {

其中:com_example_something为 package名的分解,MyClass为调用该.so的class





    推荐阅读