一、前言
技术网站常能看到一些开源的高仿项目,如高仿微信、微博之类的,外表做的跟原项目一般无二,当年初出茅庐的我自然崇拜万分,各种下载各种看,想着自己到时也要模仿一个QQ微信之类的提升一下逼格。当然,等真正工作了忙成狗也就没这个闲情逸致了,最近刚好因为工作需要,便学了下app资源图片的获取,觉得还挺有用的,故整理成笔记,希望对大家有用,看完这篇以后相信你也可以去高仿任何一个你想仿照的项目。
二、iOS中app资源图片的获取
1、下载ipa包
到mac电脑自带的iTunes里直接下载你想要的app包,这里以微信为例:
iTunes下载ipa
2、 拿到下载好的ipa包
iTunes ->应用->资料库->微信应用->鼠标右键,在Finder中显示
拿到下载好的ipa包3、右键选中->打开方式->归档实用工具
4、解压完成后,找到Payload文件夹里面的WeChat
解压完成后的效果5、选中WeChat->右键,显示包内容
显示包内容包内容资源的部分截图显示如下:
内容资源的部分截图我们可以从中拿到app的icon图片,程序启动图片,以及一些音频文件。但是,还有很多项目用到的图片你会发现找遍整个文件夹也找不到,其实它们是被压缩了藏在Assets.car文件里,下面要做的就是对这个文件进行解压。
6、解压Assets.car文件
这个文件解压需要用到一个工具cartool,github上直接有下载。
下载链接:https://github.com/steventroughtonsmith/cartool
用xcode打开cartool的工程文件,选中product -> Scheme->Edit Scheme
xcode打开cartool的工程文件操作完成后,选中Run -> Arguments
0843506D-2029-4FF0-B252-C008EB681AB2.png点击上图的“+”号,这里需要填写两个路径,一个是你需要被解压(Assets.car)文件的路径,这里建议把Assets.car文件拖到桌面来;一个是解压后文件的放置路径。直接拖拽文件丢进对应的框里即可。
需要填写的两个路径完成后Close页面,点击Run运行cartool程序对Assets.car进行解压。运行正常,控制台会打印解压好的图片信息:
控制台输出到此,微信app图片获取完毕,如下:
部分图片截图三、安卓app图片资源获取
好奇之下也看了下安卓的安装包是怎么获取资源图片的,跟ios比起来真是简单太多。
1、下载安卓的apk包,此处依然以微信为例
微信安卓apk包2、双击安装包的名字,把后缀名.apk改为.zip,这时它会变成一个zip压缩文件:
把后缀名.apk改为.zip3、解压这个zip文件,一般app是找到一个叫res的文件夹,图片就包裹在里面。但是微信解压包里没有这个res文件,它的图片是放在r文件中的a_文件下,如下:
图片存放路径四、结语
在知识的海洋里,总感觉自己是如此的渺小。唯有持续不断的学习方能缓解心中些许焦虑。希望本篇会对你有益,我会持续更新一些我认为有用的东西,喜欢的可以持续关注!
网友评论
2016_LuckyMoney_MoneyMask@2x.png
Oct 11 13:29:08 cartool[7078] <Error>: ImageIO: CGImageDestinationAddImage image destination parameter is nil
Oct 11 13:29:08 cartool[7078] <Error>: ImageIO: CGImageDestinationFinalize image destination parameter is nil