为什么在obj / local / armeabi中找到的共享库的大小比libs / armeabi中的版本大?

时间:2013-07-01 18:09:23

标签: android gcc android-ndk shared-libraries static-libraries

我正在裸机项目中使用eclipse中的ndk构建应用程序的本机部分。 我稍后将libs / armeabi中生成的libmylib.so复制到另一个使用它的项目中。

我注意到obj / local / armeabi /中的库大小,这是本地构建输出路径, 比libs / armeabi /中的库大4倍。

更确切地说:

libmylib.so在obj / local / armeabi /中的大小约为4mb,它依赖于6mb静态库和stl-port 在libs / armeabi / ...这一切都归结为1.5mb。我很担心。

将libs /文件夹复制到另一个项目是否安全?我能相信吗? 我的代码按预期运行?

在不同的地方和不同的平台上,代码运行得非常好。

1 个答案:

答案 0 :(得分:1)

找到答案 正如MichaeBurr在评论中所说,由于“官方”这一事实 lib的版本不包含任何符号,而本地构建版本包含所有符号。

可以使用nm来列出库中的符号以验证它。