android 加载 动态库问题
来源:互联网 发布:重复文件查找 知乎 编辑:程序博客网 时间:2024/06/02 08:09
当需要将第三方代码加入我们的android工程时,或者为了增加反编译难度等原因需要编译动态库.so文件,就要注意以下几点:
首先是编译出.so ,这时其实也可以编译成静态库然后链入最终的.so中。
编译.so需要在android工程的jni中放入源文件(gcc,clang对纯C语法的检查很不严格啊?好多C语法错误是在win下编译才发现的,所以最好好好检查,以防今后使用中出现奇怪问题),
并修改android.mk:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := myLOCAL_SRC_FILES := mylib/SuDoKuRule.cLOCAL_PRELINK_MODULE := falseinclude $(BUILD_SHARED_LIBRARY)
如果顺利,build工程后会在libs/armeabi下生成.so
然后就是使用.so(如果刚才选择了编译静态库,那么使用起来就很简单了,只要包含头文件即可,静态库已经连接到工程的.so中了)
auto h = dlopen("/data/data/com.shangyou.suduku3/lib/libmy.so", RTLD_LAZY); CCLog("liujianlog : h : %d" , h); auto isValueEffectiveInLineX =(BOOL(*)(int,int,cCell*,int)) dlsym(h, "isValueEffectiveInLineX");
android中.so会拷贝到应用的目录下,必须使用绝对路径,(有一种方法可以在这里使用相对路径,就是先执行syste.loadlibary(“my”),参考:http://my.oschina.net/wolfcs/blog/129696)
运行,OK
重要参考:http://bbs.csdn.net/topics/390116876
System.loadLibrary 加载路径
Android NDK学习 <六> 复杂结构动态库处理和第三方库的移植
0 0
- android 加载 动态库问题
- android ViewPager动态加载问题
- android ViewPager动态加载问题
- android 加载动态库
- cocos2dx 中 Android NDK 加载动态库的问题
- cocos2dx 中 Android NDK 加载动态库的问题
- cocos2dx 中 Android NDK 加载动态库的问题
- android listview 动态加载数据的问题
- Android动态加载APK问题整理
- android 加载动态库 分析
- android动态加载so库
- android中的动态库加载
- android studio加载动态库
- Unity Android 加载动态库
- NGINX加载动态库相关问题
- 开发板的动态库加载问题
- 动态链接库加载的问题
- 动态加载控件问题
- FZU Problem 2147 A-B Game (数学啊)
- Jersey注解详解
- 利用stl的集合类函数 操作mfc数组
- IOS 改变系统导航栏自带的返回action事件
- win7 安装matplotlib
- android 加载 动态库问题
- freemarker标签调用方法
- 开发模式和流程
- java quartz 中的时间格式 及启动定时器 触发器
- nyoj366 D的小L(STL)(DFS)
- nutch v1.9源码分析(4)——injector分析
- csdn查看朋友的会员资料博客页的字是没有内容可显示
- hdu 4539 郑厂长系列故事——排兵布阵 插头dp
- android四大组件之Activity