靜態(tài)文件即.a文件疹娶,由很多個.o文件組成书斜。在項目開發(fā)中往往需要引用多個第三方的靜態(tài)文件擂煞,這個時候可能會碰到靜態(tài)文件沖突的問題混弥。下面是解決問題的方法。
要用到的終端命令:(我們以armv7為例)
1.查看文件結(jié)構(gòu) ? ?lipo -info xxx.a(如果是fat file对省,代表支持多個平臺剑逃,如 armv7,arm64等)官辽。
2.創(chuàng)建文件夾蛹磺,用于存放解壓出來的.o文件 ?mkdir armv7
3.取出平臺的包 ?lipo xxx.a -thin armv7 -output armv7/xxx-armv7.a
4.解壓出.o文件(首先輸入指令 cd armv7 到我們第二步創(chuàng)建的文件夾) ar xv xxx-armv7.a
5.刪除沖突的包 rm ***.o
6.重新打包.o文件(首先輸入指令 cd .. 回到上一級目錄) ?ar rcs xxx-armv7.a armv7/*.o
將所支持的平臺逐一進(jìn)行1-6的操作,這時候你將得到所支持的每個平臺的一個.a文件同仆,然后我們將這些.a文件重新打包成fat file類型的.a文件就可以了萤捆。
終端輸入 lipo -create xxx-armv7.a xxx-armv7s.a -output new_name.a(假設(shè)支持armv7 和armv7s 倆個平臺)。