如何查看so库中某个.a静态库的大小

ncubrian 2014-02-14 11:21:14
大家好,我的一个so是在linux下用android-ndk-r7编译出来的,这个是要给android app用的,但是app那边说我这个so文件太大了,他们要减小APK文件大小。
这个so编译用到了某xxx.a,这个xxx.a比那个so还大一点,现在就是想知道如何查看这个so里面编进去的xxx.a文件的内容到底有多大,如果大部分都是这个xxx.a,那我就可以让另一个部门提供xxx.so,这样就把我那个so文件大小减下去了。有人知道吗,谢谢了!
...全文
494 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
谭海燕 2014-02-14
  • 打赏
  • 举报
回复
如果符号比较多,--print-size就比较麻烦了。 个人觉得确定这个大小不用太精确。个人觉得先将自己的库编成*.a,然后跟第三方*.a比较下就可也知道了。
Linux-Torvalds 2014-02-14
  • 打赏
  • 举报
回复
nm有一个选项--print-size。 先找出*.a当中的所有symbol,然后在*.so当中使用nm加上参数--print-size找出那些symbol的总大小。
Linux-Torvalds 2014-02-14
  • 打赏
  • 举报
回复
引用 3 楼 ncubrian 的回复:
[quote=引用 1 楼 linwhwylb 的回复:] nm有一个选项--print-size。 先找出*.a当中的所有symbol,然后在*.so当中使用nm加上参数--print-size找出那些symbol的总大小。
怎么找出所有的symbol啊[/quote]编译好之后,不要strip,用命令arm-none-linux-gnueabi-nm可以找出。
ncubrian 2014-02-14
  • 打赏
  • 举报
回复
引用 1 楼 linwhwylb 的回复:
nm有一个选项--print-size。 先找出*.a当中的所有symbol,然后在*.so当中使用nm加上参数--print-size找出那些symbol的总大小。
怎么找出所有的symbol啊

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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