ios 多个.framework和.a库中内容出现冲突问题,对其进行分解》去重》合并
2016-10-09 17:09
561 查看
项目中遇到的库三个库的冲突的问题(libNodeMediaClient.a 和FunSDK.framework 和IJKMediaFramework.framework )。
一,进入libNodeMediaClient.a文件夹下查看信息并进行分解
查看libNodeMediaClient.a
$lipo -info libNodeMediaClient.a
Architectures in the fat file: libNodeMediaClient.a are: armv7 armv7s i386 x86_64 arm64
分解armv7
$ lipo -extract_family armv7 -output libNodeMediaClient_arm.a libNodeMediaClient.a
$ lipo libNodeMediaClient_arm.a -thin armv7 -output libNodeMediaClient_armv7_final.a
$ lipo libNodeMediaClient_arm.a -thin armv7s -output libNodeMediaClient_armv7s_final.a
分离arm64
$ lipo libNodeMediaClient.a -thin arm64 -output libNodeMediaClient_arm64_final.a
分离i386
$ lipo -extract_family i386 -output libNodeMediaClient_i386_finla.a libNodeMediaClient.a
分离x86_64
$ lipo -extract_family x86_64 -output libNodeMediaClient_x86_64_finla.a libNodeMediaClient.a
二 同上对FunSDK.framework 中的FunSDK 进行处理 分离查看
$ lipo -info FunSDK.a
Architectures in the fat file: FunSDK.a are: armv7 armv7s i386 x86_64 arm64
分离armv
$ lipo -extract_family armv7 -output FunSDK_armv.a FunSDK.a
$ lipo FunSDK_armv.a -thin armv7 -output FunSDK_armv7_final.a
$ lipo FunSDK_armv.a -thin armv7s -output FunSDK_armv7s_final.a
分离arm64
$ lipo FunSDK.a -thin arm64 -output FunSDK_arm64_final.a
分离i386
$ lipo -extract_family i386 -output FunSDK_i386_finla.a FunSDK.a
分离x86_64
$ lipo -extract_family x86_64 -output FunSDK_x86_64_finla.a FunSDK.a
三 同上对IJKMediaFramework.framework 中的IJKMediaFramework 进行处理 分离查看
四对上面分离出来的.a 对应着arm64/armv7/armv7s 分解为相应类型的.o文件,将同类的.o放在同类行的文件夹.在进行合并
1.把所有的 *_arm64_final.a 放在一个文件夹下,然后在 *_arm64_final.a 的同级目录下创建一个arm64的文件夹,
$ ar -x ../FunSDK_arm64_final.a
2 把同类类合并到一起的.o打包
$ libtool -static -o ../FunSDK_arm64_final.a
3把所有的包合并
$ lipo -create -output FunSDK.a FunSDK_armv7_final.a FunSDK_arm64_final.a
一,进入libNodeMediaClient.a文件夹下查看信息并进行分解
查看libNodeMediaClient.a
$lipo -info libNodeMediaClient.a
Architectures in the fat file: libNodeMediaClient.a are: armv7 armv7s i386 x86_64 arm64
分解armv7
$ lipo -extract_family armv7 -output libNodeMediaClient_arm.a libNodeMediaClient.a
$ lipo libNodeMediaClient_arm.a -thin armv7 -output libNodeMediaClient_armv7_final.a
$ lipo libNodeMediaClient_arm.a -thin armv7s -output libNodeMediaClient_armv7s_final.a
分离arm64
$ lipo libNodeMediaClient.a -thin arm64 -output libNodeMediaClient_arm64_final.a
分离i386
$ lipo -extract_family i386 -output libNodeMediaClient_i386_finla.a libNodeMediaClient.a
分离x86_64
$ lipo -extract_family x86_64 -output libNodeMediaClient_x86_64_finla.a libNodeMediaClient.a
二 同上对FunSDK.framework 中的FunSDK 进行处理 分离查看
$ lipo -info FunSDK.a
Architectures in the fat file: FunSDK.a are: armv7 armv7s i386 x86_64 arm64
分离armv
$ lipo -extract_family armv7 -output FunSDK_armv.a FunSDK.a
$ lipo FunSDK_armv.a -thin armv7 -output FunSDK_armv7_final.a
$ lipo FunSDK_armv.a -thin armv7s -output FunSDK_armv7s_final.a
分离arm64
$ lipo FunSDK.a -thin arm64 -output FunSDK_arm64_final.a
分离i386
$ lipo -extract_family i386 -output FunSDK_i386_finla.a FunSDK.a
分离x86_64
$ lipo -extract_family x86_64 -output FunSDK_x86_64_finla.a FunSDK.a
三 同上对IJKMediaFramework.framework 中的IJKMediaFramework 进行处理 分离查看
四对上面分离出来的.a 对应着arm64/armv7/armv7s 分解为相应类型的.o文件,将同类的.o放在同类行的文件夹.在进行合并
1.把所有的 *_arm64_final.a 放在一个文件夹下,然后在 *_arm64_final.a 的同级目录下创建一个arm64的文件夹,
$ ar -x ../FunSDK_arm64_final.a
2 把同类类合并到一起的.o打包
$ libtool -static -o ../FunSDK_arm64_final.a
3把所有的包合并
$ lipo -create -output FunSDK.a FunSDK_armv7_final.a FunSDK_arm64_final.a
相关文章推荐
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 在Xcode6中进行打包时出现的问题 Your account already has a valid iOS distribution certificate
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- iOS_TUTK_进行本地录像成功后查看会偶发出现黑屏的问题
- 【黑马程序员】关于多线程聊天室中出现的“由于其他线程拥有此对象,因此调用线程无法对其进行访问”问题的探究
- 使用OSS JavaScript的sdk进行web端直传,开发环境下测试没有问题,但部署到服务器上或者打包到IOS原生包中出现了问题。
- svn 出现冲突时可以使用 meld . 命令合并。 而git的冲突合并详见内容
- iOS开发中,使用svn进行commit提交时,出现文件冲突
- IOS URL无法对加号进行编码导致http请求时服务器端获取的内容中加号变成空格问题
- iOS 制作自己的FrameWork遇到的一些问题 以及FrameWork通过包合并支持arm64 armv7 i386 架构
- iOS 制作静态库 .a 文件 和 .framework 文件 以及解决第三方库冲突问题 最后附上图片及Xib资源打包成 bundle (转载 mark 一下)
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- IOS URL无法对加号进行编码导致http请求时服务器端获取的内容中加号变成空格问题
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- iOS 自动生成framework并自动进行模拟器和真机framework合并
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- [解决]在用AJAX进行异步请求(asp)的时候,出现了乱码问题。
- 用Javascript读取XML文件的内容并进行分页的问题
- 要将程序集“X”标记为系统必备,必须对其进行强签名-使用ClickOnce发布软件时碰到的问题之一