1. 程式人生 > >【轉】Android:No implementation found for native

【轉】Android:No implementation found for native

stat void for boa bte pre shared int jnienv

解決方法:

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

復制該文件到libs目錄下,代碼中調用:

static
{
System.loadLibrary("test");//註意沒有前綴 lib,對應為LOCAL_MODULE
}

附:典型的Android.mk

[html] view plain copy
  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_MODULE := test
  4. LOCAL_SRC_FILES := mytest.c
  5. include $(BUILD_SHARED_LIBRARY)
JNIEXPORT void Java_com_example_something_MyClass_startServer(JNIEnv * env, jobject obj) {
其中:com_example_something
為 package名的分解,MyClass為調用該.so的class

【轉】Android:No implementation found for native