当前位置: 移动技术网 > IT编程>脚本编程>Python > Python如何提取APK图标

Python如何提取APK图标

2018年03月12日  | 移动技术网IT编程  | 我要评论

潘娇娇献b门,旱魃幼儿园,87873手游平台

有个需求,需要提取1000个APK的图标,最开始的想法通过Apktools对APK进行解压,再获取图标,由于Apktools解压APK比较耗时,这个办法就被弃用。通过分析找到一个快的方法,步骤如下(window系统):

1、通过aapt工具,提取图标在APK中路径**

aapt工具在android_sdk的build-tools\27.0.2目录
然后随便找一个APK命令为test.apk,执行aapt dump badging test.apk命令,会发现输出有一部分内容如下:
这里写图片描述
接下来通过findstr命令提取application-icon-120这一行,图标的路径为r/a6/icon.png
这里写图片描述

2、通过Python zipfile提取图标

步骤1已经获取了图标在APK中的路径,通过Python的zipfile库,将APK的图标保存到本地。


代码实现

将aapt.exe拷贝到H:\Python\temp\目录

#coding=utf-8
import os
import zipfile

def parse_icon(filePath):

    cmd = "H:\\Python\\temp\\aapt.exe dump badging %s | findstr application-icon-120" % filePath

    output = os.popen(cmd).read()
    print output

    iconPath = output[22:len(output) - 2]
    print iconPath

    zip = zipfile.ZipFile(filePath)
    iconData = zip.read(iconPath)

    saveIconName = "H:\\Python\\temp\\icon.png";

    with open(saveIconName,'w+b') as saveIconFile:
        saveIconFile.write(iconData)

    parse_icon("H:\\Python\\appstore\\test.apk")

执行完就会发现,在H:\Python\temp\目录下生成了图标文件icon.png
这里写图片描述


如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网