Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-fPIC,-shared;静态库链接时搜索过程;动态库链接时,加载时搜索的过程;动态库找不到的问题;库...
分类:
系统相关 时间:
2015-02-16 11:31:35
阅读次数:
353
最近公司框架刚移植完成,由于框架程序要调用子程序,每个子程序都是一个so文件,有好几百个,把所有的so和apk打包不现实,及时可以升级维护也很麻烦。所以需要放SD卡中。考虑两种方式1放到设备中的 /data/app-lib/包名/so文件 (还有一个默认路径不记得了)程序程序初始化的时候 复制到这个...
分类:
移动开发 时间:
2015-02-08 10:14:01
阅读次数:
165
预装(push)lib64中so文件查找错误本文地址:http://blog.csdn.net/caroline_wendyAndroid系统已经升级为64位系统,在进行预装(adb push)时,可能会发生64位不兼容的情况,因为没有提前编译64位的so文件。添加64位的abi支持:APP_ABI=all32 is equivalent to APP_ABI=armeabi,armeabi-v7...
分类:
移动开发 时间:
2015-02-08 00:28:27
阅读次数:
345
因为Unity 采用C# 作为主要语言,代码编译之后作为DLL存在与执行文件中,这就给我们带来很大的一个问题,反编译非常容易。
如果有一些比较重要的代码不想让别人看到,那就用C++来编写,C++编译成so文件,反编译之后只能成为汇编语言,无疑加大了破解难度(当然不能百分百防破解,汇编大牛很多的)...
分类:
移动开发 时间:
2015-02-07 14:37:09
阅读次数:
176
最近公司框架刚移植完成,由于框架程序要调用子程序,每个子程序都是一个so文件,有好几百个,把所有的so和apk打包不现实,及时可以升级维护也很麻烦。所以需要放SD卡中。考虑两种方式
1
放到设备中的 /data/app-lib/包名/so文件 (还有一个默认路径不记得了)程序程序初始化的时候 复制到这个路径中,loadlibrary时会从两个默认路径中加载。
这种方式设备需要root,...
分类:
移动开发 时间:
2015-02-05 18:27:18
阅读次数:
176
时不时要用到动态调试so, 但总是不记得,这里记录一下。
步骤很简单,就是参考看雪论坛,非虫大哥的介绍。
http://www.kanxue.com/bbs/showthread.php?p=1111471
调试so必须可以。
Debugger→Attach→Remote ArmLinux/Android debugger
Attach进程
CTRL+S找so
计算偏移找地址,F2下断后就O...
分类:
其他好文 时间:
2015-02-04 20:26:58
阅读次数:
423
进入主题前,先看看两点预备知识。
一、显示调用和隐式调用的区别
我们知道,动态库相比静态库的区别是:静态库是编译时就加载到可执行文件中的,而动态库是在程序运行时完成加载的,所以使用动态库的程序的体积要比使用静态库程序的体积小,并且使用动态库的程序在运行时必须依赖所使用的动态库文件(.so文件),而使用静态库的程序一旦编译好,就不再需要依赖的静态库文件了(.a文件)。...
分类:
系统相关 时间:
2015-02-04 18:41:11
阅读次数:
280
eclipse SVN提交代码的时候,是自动忽略.so库文件的。用下面所说的操作后,.so库文件右下角的图标会变成一个蓝色的+号的图标,这样就可以提交.so文件了选择要上传的.so文件,右键 ——> Team ——> 添加至版本控制(Add to Version Control)土匪:蘑菇,你哪路?...
分类:
Web程序 时间:
2015-01-28 12:37:04
阅读次数:
171
原帖地址:http://www.cnblogs.com/tamer/archive/2011/01/18/1938307.html说白了就是c代码做成动态库,被java代码调用(JNI)。用C写不出可以直接在Android上跑的可执行程序来。NDK开发需要一个交叉编译环境,需要安装Cygwin, N...
分类:
移动开发 时间:
2015-01-27 21:37:06
阅读次数:
206
场景:Androidstudio编译我的项目(项目中有运用的jni),编译没有报错,正常的安装到我的机器上,可是运行的时候就报错,没有找到*.so文件...可是明明在libs,目录下有加相关的文件?参考网上大部分的做法,新建jniLibs文件夹把有关的文件都放到这个文件中,例如这样对于目录..
分类:
移动开发 时间:
2015-01-26 19:30:04
阅读次数:
154