Android 为什么obj/local/armeabi中的共享库比libs/armeabi中的版本大?

Android 为什么obj/local/armeabi中的共享库比libs/armeabi中的版本大?,android,gcc,android-ndk,shared-libraries,static-libraries,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端口和 在libs/armeabi/中,这一切归结为1.5mb。。。我很担心 将lib

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

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

更准确地说:

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

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

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

找到了答案 正如MichaeBurr在评论中指出的那样,这是因为“官员” 库的版本不包含任何符号,而本地生成版本包含所有符号


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

这可能只是包含符号的库和被剥离的库之间的区别吗?你似乎是对的@Michael,我使用nm列出了所有符号,实际上较小的版本不包含任何符号,而obj版本包含一吨。@MichaelBurr,你应该把你的答案作为答案贴出来