应用场景

在不解压apk文件夹的情况下批量的从apk文件中提取出所有的so文件。这样你即不用使用apktool 这些工具令产生大量的中间文件,或者将apk的后缀变为.zip,然后在解压,节省了磁盘空间。

功能说明

提取出一系列的apk文件然后提取出它们中的所有so文件,按照apk的名字以及它们之前所在的文件夹进行存储。如下图所示:

代码实现

#!/usr/bin/env python
# coding=utf-8
import zipfile
import ospath = "/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文件相关推荐

  1. 如何从 dump 文件中提取出 C# 源代码?

    一:背景 相信有很多朋友在遇到应用程序各种奇葩问题后,拿下来一个dump文件,辛辛苦苦分析了大半天,终于在某一个线程的调用栈上找到了一个可疑的方法,但 windbg 常常是以 汇编 的方式显示方法代码 ...

  2. 如何从dump文件中提取出C#源代码学习通http://www.bdgxy.com/

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...

  3. 批量提取出apk文件中的classes.dex文件

    应用场景 如果需要批量分析apk以及每个apk文件中的classes.dex 文件.怎么提取出它们?将apk改后缀名变为.zip文件,之后在解压,提取出每个apk文件中的classes.dex文件,这 ...

  4. 在SCSS文件中导入常规CSS文件?

    本文翻译自:Import regular CSS file in SCSS file? Is there anyway to import a regular CSS file with Sass's ...

  5. 如何在另一个JavaScript文件中包含一个JavaScript文件?

    JavaScript中是否有类似于CSS中@import的内容,可让您在另一个JavaScript文件中包含一个JavaScript文件? #1楼 而不是在运行时添加,而是使用脚本在上传之前进行串联. ...

  6. java jar metainf_java – 从生成的jar文件中排除META-INF / maven文件夹

    我正在尝试创建一个jar文件,其中包含jar中提取的所有必需类.但对于像 log4j这样的少量依赖jar,它会在META-INF / maven / *中创建一些文件夹.我有一个限制,我将放置生成的j ...

  7. SQL导入文本错误:大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。

    服务器: 消息 4832,级别 16,状态 1,行 1 大容量插入: 在数据文件中遇到意外的文件结尾 (EOF). 服务器: 消息 7399,级别 16,状态 1,行 1 OLE DB 提供程序 'S ...

  8. ffmpeg批量从视频中提取出mp3音频

    1.新建一个txt文件,并复制如下代码进入,然后保存. @echo off & titlecd /d %~dp0for %%a in (*.mp4) do (ffmpeg -i "% ...

  9. cubase怎么添加midi设备_Cubase 6教程:如何从音频中提取出MIDI

    Cubase中的黑科技! 相信每个制作人都非常热衷于把音频里的旋律导出成MIDI. 如果你是Cubase 6的使用者, 你可以很轻松地在Cubase 6里自带的功能中完成它. 第一步:选择你的原始音频 ...

最新文章

  1. 2021年2月程序员工资统计,又拖后腿了……
  2. 清华物理化学97—13真题,部分是回忆版
  3. 你已经是个成熟的985大学了,请不要在大一教 C 语言!
  4. Blazor 路由及导航开发指南
  5. viewstate和session(转自博客园)
  6. C语言十进制转换二进制
  7. 西岛住宿软件测试,三亚西岛怎么玩,吃住玩全攻略带走
  8. docker学习系列:设置阿里云容器加速器
  9. java 实现屏幕录像_用JAVA捕获屏幕、屏幕录像、播放
  10. 移动端怎么让图片不失真_实用工具推荐:几款堪称神器的图片放大缩小网站,无损不失真...
  11. STM32F103C8T6最小系统原理图和PCB
  12. 启动计算机显示屏没反应,电脑开机后显示器无反应怎么办
  13. GoTop给网站加一个悬挂猫效果上吊猫
  14. scrapy框架用CrawlSpider类爬取电影天堂.
  15. Unity UGUI-Canvas
  16. 携程2016校园招聘笔试题分析
  17. win7如何调整计算机c盘,win7系统让c盘和d盘合并的两种方法
  18. python 实现证件照换底
  19. 建议将com.alibaba:fastjson升级至1.2.83
  20. 职业生涯规划需要考虑的三大要点

热门文章

  1. Kubernetes 集群无损升级实践
  2. 你必须掌握的 21 个 Java 核心技术!
  3. 天天用着Redis集群,主从同步该知道吧?集群工作原理是否需要了解下?
  4. Java 未死,依然很牛逼!
  5. Docker中的Java内存消耗优化以及我们如何使用Spring Boot
  6. Linux性能监控和调试
  7. 飞书与德勤管理咨询达成战略合作,赋能企业实现智慧运营与管理
  8. 「测评系列之少数派」打通 IM 和日历,飞书重新定义文档
  9. win10自带Ubuntu
  10. 稀疏线性方程组求解法