首页 > 代码库 > 批量从apk文件中提取出so文件
批量从apk文件中提取出so文件
应用场景
在不解压apk文件夹的情况下批量的从apk文件中提取出所有的so文件。这样你即不用使用apktool 这些工具令产生大量的中间文件,或者将apk的后缀变为.zip,然后在解压,节省了磁盘空间。
功能说明
提取出一系列的apk文件然后提取出它们中的所有so文件,按照apk的名字以及它们之前所在的文件夹进行存储。如下图所示:
代码实现
#!/usr/bin/env python # coding=utf-8 import zipfile import os path = "/home/chicho/test/test/" so_path="/home/chicho/test/test/so/" apklist=os.listdir(path) for APK in apklist: if APK.endswith(".zip"): portion = os.path.splitext(APK) apkname = portion[0] abs_so_path=os.path.join(so_path,apkname) #/so/apkname/ abs_zipAPK_path=os.path.join(path,APK) z = zipfile.ZipFile(abs_zipAPK_path,'r') solists=[] for filename in z.namelist(): if filename.endswith(".so"): sofileName = os.path.basename(filename) soSource = os.path.basename(os.path.dirname(filename)) ''' make a dir with the source(arm?mips) ''' storePath=os.path.join(abs_so_path,soSource) # e.g. /.../so/apkname/mips/ if not os.path.exists(storePath): os.makedirs(storePath) ''' copy the xxx.so file to the object path ''' newsofile=os.path.join(storePath,sofileName) f = open(newsofile,'w') f.write(z.read(filename))
批量从apk文件中提取出so文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。