【轉】Android:No implementation found for native
阿新 • • 發佈:2017-07-02
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- LOCAL_PATH := $(call my-dir)
- include $(CLEAR_VARS)
- LOCAL_MODULE := test
- LOCAL_SRC_FILES := mytest.c
- 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