随着android项目的进行,如果没有及时删除无用的资源时安装包会越来越大,是时候整理一下废弃资源缩小压缩包了,少年!

其实判断一个资源(drawable,layout)是否没有被使用很简单,文件名(不包含后缀)去文件中查找一下就行了,没找到就没有用到,直接删除了就可以了

python的字符串处理相对简单一点,就写了个脚本,供大家参考:

import os

import os.path

rootdir = 'D:\HitFm_v2.1.6\hitfm\src'

pngFiles = []

xmlFiles = []

javaFiles = []

tempFiles = []

for parent,dirnames,filenames in os.walk(rootdir):

for filename in filenames:

if(filename.find('.png') != -1):pngFiles.append(os.path.join(parent,filename))

if(filename.find('.jpg') != -1):pngFiles.append(os.path.join(parent,filename))

if(filename.find('.xml') != -1):xmlFiles.append(os.path.join(parent,filename))

if(filename.find('.java') != -1):javaFiles.append(os.path.join(parent,filename))

for pngFile in pngFiles:

pngName = pngFile.split('\\')[-1]

pngnowName = pngName.split('.')[0]

if(pngFile.find('res') == -1):continue

bFind = False

for javaFile in javaFiles:

f = open(javaFile, 'rb')

javaStr = f.read().decode()

if(javaStr.find(pngnowName) != -1):bFind = True

for xmlFile in xmlFiles:

f = open(xmlFile, 'rb')

javaStr = f.read().decode()

if(javaStr.find(pngnowName) != -1):bFind = True

if(bFind == False):

print (pngFile)

os.remove(pngFile)

for xmlFile in xmlFiles:

xmlName = xmlFile.split('\\')[-1]

xmlnowName = xmlName.split('.')[0]

if(xmlFile.find('res') == -1):continue

bFind = False

for javaFile in javaFiles:

f = open(javaFile, 'rb')

javaStr = f.read().decode()

if(javaStr.find(xmlnowName) != -1):bFind = True

for xmlFile2 in xmlFiles:

f = open(xmlFile2, 'rb')

javaStr = f.read().decode()

if(javaStr.find(xmlnowName) != -1):bFind = True

if(bFind == False):

print (xmlFile)

tempFiles.append(xmlFile)

for tempFile in tempFiles:

print (tempFile)

os.remove(tempFile)

使用的时候只需要把rootdir = 'D:\HitFm_v2.1.6\hitfm\src'修改为自己的代码目录,在命令行里执行xx.py即可(需要安装python3.0以上版本的解释器)

一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

Android lint 删除无用图片文件和配置文件

Android lint  删除无用.冗余的  配置文件和 图片资源    转载请注明  http://blog.csdn.net/aaawqqq?viewmode=contents Android项 ...

Discuz!X 3.4 任意文件删除漏洞复现过程(附python脚本)

今天看下群里在讨论Discuz!X 3.4 任意文件删除漏洞,自己做了一些测试,记录一下过程.结尾附上自己编写的python脚本,自动化实现任意文件删除. 具体漏洞,请查看 https://paper ...

Android 自动化测试及性能数据采集的 Python 脚本

文主要介绍一个基于 uiautomator2 封装的一个 Python 库 android-catcher ,该库的功能主要有对 Android 设备进行 UI 自动化测试 和 采集手机性能数据 ,适 ...

Android学习--Assets资源文件读取及AssetManager介绍

APK安装过程        复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用 ...

Android RadioGroup 及资源文件 & selector

RadioGroup :单选组         RadioButton :单选按钮 RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单 ...

Android中的资源文件

最近复习Android资源文件的内容,留下点记录以备后用. Android中的资源主要是指存放在应用程序或者Framework相应包下/res中的内容.它们可以被本地化,如果必要的话会被编译成二进制文 ...

android 巧用资源文件(不断积累)

1.shape的使用

FreeCAD stp文件基于python脚本操作

FreeCAD对于3D模型处理这块的东西封装的还是很完善的,所以移植这块的东西还是有必要的! 首先下载FreeCAD编译好的库: https://www.freecadweb.org/wiki/Dow ...

随机推荐

伪Acmer的推理(dfs/bfs)

时间限制:1000MS  内存限制:65535K 提交次数:12 通过次数:9 收入:32 题型: 编程题   语言: C++;C Description 现在正是期末,在复习离散数学的Acmer遇到 ...

C++ 封装互斥对象

多线程程序中为了防止线程并发造成的竞态,需要经常使用到Mutex进行数据保护.posix提供了phtread_mutex_t进行互斥保护数据.Mutex的使用需要初始化和释放对应(phtread_mu ...

Java for LeetCode 077 Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

使用OPTIMIZE TABLE命令来整理表碎片实践

操作环境:ubuntu 14.10   mysql 5.6.25 对含有BLOB或TEXT字段的表,若经常做修改或删除类的操作,需要定期执行OPTIMIZE TABLE命令来整理碎片. 1.creat ...

Burnside引理和polay计数学习小记

在组合数学中有这样一类问题,比如用红蓝两种颜色对2*2的格子染色,旋转后相同的算作一种.有多少种不同的染色方案?我们列举出,那么一共有16种.但是我们发现,3,4,5,6是同一种,7,8,9,10是用 ...

Chrome 控制台console的用法(学了之后对于调试js可是大大有用的哦)

大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方.可能大家对co ...

HW2.2

import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

ThinkPHP函数详解:cache方法

cache方法是3.0版本开始新增的缓存管理方法.注意:3.1.2版本后因cache方法并入原S方法,所以cache方法不再建议使用,用S方法即可. cache 用于缓存设置.获取.删除操作 用法ca ...

【BZOJ3884】上帝与集合的正确用法(欧拉定理,数论)

[BZOJ3884]上帝与集合的正确用法(欧拉定理,数论) 题面 BZOJ 题解 我们有欧拉定理: 当\(b \perp p\)时 \[a^b≡a^{b\%\varphi(p)}\pmod p \] ...

python中各个response使用

Python django中我们经常用的response有django中的 JsonResponse, HttpResponse,还有DRF中的Response 在使用的时候,经常会不知道如何什么时候 ...

android删除无用资源文件,android删除无用资源文件的python脚本相关推荐

  1. python单击url下载网页文件_使用不带url的python脚本从网页下载文件,调用onClick函数 - javascript...

    有一个网页带有链接"单击下载",单击该链接可以下载文件. 我可以通过转到网页并单击此链接来手动下载此文件,但是我需要通过python脚本下载此文件. 如果我看到源代码,则可以看到锚 ...

  2. abaqus python 读取文件_ABAQUS Command 如何调用或执行 Python 脚本文件

    ABAQUS 中调用或者执行 Python 脚本有两种方法. 第一种方法,首先编写 Python 脚本文件,例如按照下面的代码编写 Python 脚本,实现批处理任务: from ABAQUS imp ...

  3. 从FASTA文件中批量提取指定序列【Python脚本】

    文章目录 前言 一:读取含特定字符的序列并输出 演示 二:读到某一个字符之前的全部输出 使用方法 三:输出前n条序列 使用方法 总结 前言 背景:学测序流程的时候,做到mapping的时牛的基因组有两 ...

  4. XCTF BUG( 越权 修改forwarded头 文件上传) UNFINSH(二次注入 python脚本) 学习过程

    最近忙着入职和处理一些杂事,更新的确比较少了.不过在周末还是正好有空的,正好刷刷XCTF. 目录 XCTF BUG 注册账号 越权漏洞 文件上传 XCTF UFINISH XCTF BUG 首先进行常 ...

  5. python编写代码实现文件的拷贝功能_如何使用Python脚本实现文件拷贝

    Warning Time:%s Dirctory:%s Remask:%s

  6. python读取日志统计ip_使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  7. 【Android 安装包优化】移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )

    文章目录 一.自动移除无用资源 ( 不推荐使用 ) 二.直接引用资源与动态获取资源 1.直接引用资源 2.动态获取资源 id 三.Lint 检查资源 四.参考资料 一.自动移除无用资源 ( 不推荐使用 ...

  8. android文件删除工具下载,Coolmuster Android Cleaner下载

          Coolmuster Android Cleaner官方版是很容易使用且实用性也很高的手机深度缓存清理软件,Coolmuster Android Cleaner最新版能够清除应用程序缓存, ...

  9. 华为文件Android可以删吗,华为用户要自查!手机里的这5个文件夹可以删除,内存瞬间变大...

    对于安卓手机来说,用久了就会出行内存不足和卡顿的情况,特别是最近很火的华为手机,很多人都不知道内存不够了只能用手机管家清理,而且效果并不好. 今天就教大家自查手机文件管理,这5个文件夹可以随意删除,删 ...

  10. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 解压 apk 文件 | 判定是否是第一次启动 | 递归删除文件操作 | 解压 Zip 文件操作 )

    文章目录 一.判定是否是第一次启动 二.递归删除文件操作 三.解压 Zip 文件操作 四.解压操作相关代码 参考博客 : [Android 安全]DEX 加密 ( 常用 Android 反编译工具 | ...

最新文章

  1. 技术直播:程序员副业的修炼指南!(限免报名)
  2. ACM输入输出--多组测试用例--C、C++、Java
  3. 007_Spring Data JPA JPQL
  4. 深刻理解:反向代理服务器
  5. css学习笔记(三)——布局模型
  6. tf.train.Coordinator和tf.train.start_queue_runners
  7. cesium 3dtiles 加载本地数据_深入echarts学习:加载跨域、异步、本地json数据的防坑录
  8. 自动爬取中国大学mooc的pdf文档
  9. RabbitMQ和Kafka的显著差异(4)
  10. 宝塔mysql表使用中_Mysql-表的基本操作
  11. Unity Physic.Simulate多场景模拟物理仿真效果、绘制运动轨迹
  12. 《Java核心技术 卷1》
  13. rocketdock皮肤_使用RocketDock皮肤获取Windows 7,Vista和XP中的Windows 8魅力栏
  14. android平台的开源框架的思考
  15. 数据挖掘实战:个人信贷违约预测
  16. [电表窃电方法] 偷电方法-电表控制器
  17. 长安汽车董事长下场宣传原力技术 全擎引领电动化出行普及时代
  18. 音视频学习笔记1--音视频基础知识(1)
  19. 请更换备份电池 pos机_UPS电池维护与保养
  20. selenium+python上传文件(Button按钮)

热门文章

  1. autocad 如何摆正显示_AutoCAD使用技巧问答
  2. 动态数据中心:微软私有云解决方案
  3. SP刷机工具错误信息
  4. Flash游戏开发必备书籍
  5. 计算机外设解决方案,瑞昱在2007 IDF上展出多款计算机外设产品解决方案
  6. 三款 Mac 远程控制(远程桌面)工具
  7. 数学公式编辑器的探索与实现
  8. 程序人生-Hello的 P2P
  9. Ubuntu下出现授权问题
  10. 米思齐Mixly图形化编程---数管码时钟