lipo

作者: 一个人在路上走下去 | 来源:发表于2016-05-28 12:01 被阅读327次

lipo源于mac系统要制作兼容powerpc平台和intel平台的程序。lipo 是一个在 Mac OS X 中处理通用程序(Universal Binaries)的工具。现在许多(几乎所有)程序都打上了“Universal”标志,意味着它们同时具有 PowerPC 和 Intel 芯片能够处理的代码。

如果您的产品不会适用于所有平台,你就能够使用 lipo 来给你的程序“瘦身”。比如你想让“便笺”应用程序只包含 Intel(i386)的代码:

cd /Applications
lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386
cd Stickies.app/Contents/MacOS/
rm Stickies
mv Stickies.i386 Stickies

几个命令

1)-info:仅显示出universal file中的包括的架构信息。

info

2)-detailed_info:打印出fat_header、fat_arch
3)-thin:取出某个架构
4)-create: 创建universal file

编译静态库

iOS Device,编译出来的.a静态库文件是基于arm架构上的,可在真机上运行。选iPhone Simulator,编译出来的静态库文件是基于i386架构的。可在模拟器中运行。我们可以通过lipo命令将这两个文件打包成一个通用的.a文件。

lipo-create静态库存放路径1静态库存放路径2-output整合后存放的路径。
需要先运行 lipo -infolib1.a和lipo -infolib2.a

lipo -create lib1.a lib2.a -output lib.a

lipo -create Release-iphoneos/Helper.framework/Helper Release-iphonesimulator/Helper.framework/Helper -output Helper

使用lipo命令将设备和模拟器的.a合并成一个通用的.a文件,将合并后的通用.a文件拖拽至工程中即可。

拆分静态库

合并是为了提高开发效率,那么当我们发布app的时候,如果将i386架构打包进入静态库会变大将近一倍(如果一共支持两个架构),如果工程使用了多个这类静态库,会导致整个包的大小没必要的增长。我们也可以通过lipo命令为静态库瘦身。

用file命令查看静态库支持几个架构:

file xxx.a
file

实际安装到真机上我们只需要armv7就可以了,我们可以用lipo命令将armv7的提取出来。

lipo xxx.a -thin armv7 -output arm/xxx.a

这样在arm文件夹中得xxx.a 就是armv7架构了,大家可以用lipo -info 命令查看。

lipo -info arm/xxx.a

相关文章

  • 关于lipo -create合并Framework库的注意点

    lipo -create命令合并Framework文件步骤1.打开终端输入lipo -create(lipo与-c...

  • lipo的使用

    使用lipo -info 可以查看包含的架构 使用lipo工具移除相关架构即lipo -info AipBase....

  • lipo 应用

    lipo -create "XXXA" "XXXB" -output "XXXC"lipo -info "XXXC"

  • iOS之lipo

    iOS之lipo 转载2015年12月04日 09:26:12 537 【iOS之lipo】 1、lipo是什么 ...

  • 查看 .a或framework支持的架构

    .a:sudo lipo -info xxx.a .framework:sudo lipo -info xxxx注...

  • iOS Framework lipo报错 lipo: can't

    # [iOS Framework lipo报错 lipo: can't map input file] //错误信...

  • iOS合并framework lipo命令

    lipo命令 查看framework支持的cpu架构列表 lipo -info -xxxArchitectures...

  • lipo

    lipo源于mac系统要制作兼容powerpc平台和intel平台的程序。lipo 是一个在 Mac OS X 中...

  • lipo

    lipo是管理Fat File的工具, 可以查看cpu架构, 提取特定架构,整合和拆分库文件。如果您的产品不会适用...

  • lipo

    lipo 工具用于查看、提取、合并、拆分二进制文件(Mach-O)的CPU指令架构。从下面可看出,是Xcode自带...

网友评论

    本文标题:lipo

    本文链接:https://www.haomeiwen.com/subject/twmfdttx.html