eclipse NDK生成so,调用自己之前的so,附源码,调用时程序闪退,不知android.mk哪里有错

szivy 2015-01-17 04:57:01
JNI要生成so的源文件:
——————————————————————————————————————————————————————
#include <stdio.h>
#include <jni.h>
#include <dlfcn.h>
#include "com_example_t01_cpp_head.h"

JNIEXPORT jstring JNICALL Java_com_example_t01_cpp_1head_t_1jni(JNIEnv *env,
jobject jo) {
void *handle;
int result=0;
handle = dlopen("test01.so", RTLD_LAZY);//之前已有的so
int (*pmytest)(int);
pmytest=(int(*)(int))dlsym(handle,"main_getroot");
result=pmytest(3);
if (result==3) {
return (env)->NewStringUTF("success");
} else
return (env)->NewStringUTF("fail");

}

_________________________

android.mk,如下:
——————————————————————
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := t01
LOCAL_SRC_FILES := t01.cpp
LOCAL_SHARED_LIBRARIES := test01.so
include $(BUILD_SHARED_LIBRARY)
——————————————————————

test01.so,是之前自己早已有的,代码如下:

#include <stdio.h>
int main_getroot(int a) {
return a;
}

_________________________________


不知为何不能调用test01.so里的函数main_getroot, 不知android.mk是否有误,请会解答,和提供些例子!
...全文
101 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧