目前我正在使用androguard(https://github.com/androguard/androguard),但是在读取包和提取version_name时需要花费太多时间。有没有其他方法可以使用python或任何更快的方式使用androguard提取apk文件的version_name。此外,(如果有的话)通过java更快的方式也会有所帮助(请详细说明我不了解java的步骤)
代替使用androguard,您可以使用qaxxswpoi中提供的pyaxmlparser。您可以直接在python上运行它并提取所有数据,如包名称,版本名称等等。它速度很快,您每分钟可以提取大约30个应用程序的数据。
如果您可以访问AAPT(标准的android sdk内置工具),以下内容应该为您提供信息。
https://github.com/appknox/pyaxmlparser
或者,如果您不想使用grep并且想要自己搜索大量的数据,只需使用aapt dump badging myApk.apk | grep versionName
并遍历字符串,直到找到您要查找的信息。
使用SDK 27.0.3,以下是使用grep返回上述命令:
aapt dump badging myApk.apk
要在python中执行此命令,请使用子进程模块:package: name='com.example.myapk' versionCode='49' versionName='1.2.3' platformBuildVersionName=''