美文网首页iOS开发技术iOS技术篇Android世界
快速获取app(ios和安卓)资源图片

快速获取app(ios和安卓)资源图片

作者: 夜_阑珊 | 来源:发表于2016-10-09 18:12 被阅读1190次

    一、前言

    技术网站常能看到一些开源的高仿项目,如高仿微信、微博之类的,外表做的跟原项目一般无二,当年初出茅庐的我自然崇拜万分,各种下载各种看,想着自己到时也要模仿一个QQ微信之类的提升一下逼格。当然,等真正工作了忙成狗也就没这个闲情逸致了,最近刚好因为工作需要,便学了下app资源图片的获取,觉得还挺有用的,故整理成笔记,希望对大家有用,看完这篇以后相信你也可以去高仿任何一个你想仿照的项目。

    二、iOS中app资源图片的获取

    1、下载ipa包

    到mac电脑自带的iTunes里直接下载你想要的app包,这里以微信为例:


    iTunes下载ipa

    2、 拿到下载好的ipa包

    iTunes ->应用->资料库->微信应用->鼠标右键,在Finder中显示

    拿到下载好的ipa包

    3、右键选中->打开方式->归档实用工具

    解压ipa包

    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改为.zip

    3、解压这个zip文件,一般app是找到一个叫res的文件夹,图片就包裹在里面。但是微信解压包里没有这个res文件,它的图片是放在r文件中的a_文件下,如下:

    图片存放路径

    四、结语

    在知识的海洋里,总感觉自己是如此的渺小。唯有持续不断的学习方能缓解心中些许焦虑。希望本篇会对你有益,我会持续更新一些我认为有用的东西,喜欢的可以持续关注!

    相关文章

      网友评论

      • 70f7a024fbe9:请问支付宝的怎么提取,你的方法里的都有效,但感觉有的图片还是没找到 。里面有个148MB的文件,会不会在这里?
      • 153496cbe7cd:2016_LuckyMoney_MoneyMask
        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
      • 153496cbe7cd:为什么ios的运行cartool奔溃了,求解?
        夜_阑珊:@AlexHlp 解压Assets.car文件时,要在Arguments设置两个文件路径,第一个路径是Assets.car文件的路径,建议把这个文件拖到电脑桌面来,第二个是解压后图片的放置路径,建议在电脑桌面创建一个文件夹用来放置解压图片。
        夜_阑珊:@AlexHlp 奔溃日志
      • 欧巴冰冰:我一直没时间写文章来记录这些,,多谢少侠帮忙。
        夜_阑珊:@小兵随记 客气:smile:
      • Liusr: :+1:
        夜_阑珊:@SmileLiusr 值得一试:stuck_out_tongue_winking_eye:
        Liusr:@SmileLiusr 一直用themeEngine,试试你这个
      • 十一岁的加重:不错,收藏了
        夜_阑珊:@十一岁的加重 :smile:有用就好

      本文标题:快速获取app(ios和安卓)资源图片

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