android删除无用资源文件的python脚本

随着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以上版本的解释器)

时间: 2024-10-11 10:35:39

android删除无用资源文件的python脚本的相关文章

一键删除android下面无用资源

项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情. 本人最怕码字,上面内容引入http://www.cnblogs.com/angeldevil/p/3725358.html 关于android lint的使用,如果不了解的请自行去了解. 下面是我的清除代

一个自动清理Android项目无用资源的工具类

此工具在我的github上.地址:https://github.com/NashLegend/AndroidResourceCleaner 很多人都知道androidunusedresources.jar这个工具,它可以把Android项目中无用的资源列出来.然而它所做的也就止于此了,在列出所有的无用资源以后,开发者们还得手动删除这些文件,这实在是一个没技术含量却又烦人的体力活,但是作为程序员,自然是有解决办法的,我们为什么不写一个程序,让程序来实现这个功能呢? 这个功能要实现的功能应该是这样的

Android开发之资源文件存储

本文介绍在Android开发中关于资源文件的存储操作.对于Android资源也是非常重要的,主要包括文本字符串(strings).颜色(colors).数组(arrays).动画(anim).布局(layout).图像和图标(drawable).音频视频(media)和其他应用程序使用的组件. 在Android开发中,资源文件是我们使用频率最高的,无论是string,drawable,还是layout,这些资源都是我们经常使用到的,而且为我们的开发提供了很多方便,不过我们平时接触的资源目录一般都

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

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 @for&ever 2010-07-03 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中 脚本如下: #!/usr/bin/env python# -*- coding: utf-8 -*- '''Created on 2010-7-2 @author: fore

Android使用 SVG 资源文件(一)

这里就不介绍背景了,直接说说在 Android 中如何使用 SVG资源吧! 使用步骤: 1.SVG资源的源文件 要使用 SVG资源,我们首先得有 svg 资源,在哪里找呢,有很多工具能够生成 SVG资源,比如omnigraffle图形编辑器,我这里生成好了一张 SVG资源的图片 用浏览器打开之后可以看到它的代码 我们所要的就是path 之后的 svg 代码,把它拷贝到我们的代码中 M 6.783868 184 C 6.783868 184 7.349524 160.57912 14.131572

删除超过1年数据完整python脚本

删除超过1年数据完整python脚本: vi aa.py #!/usr/bin/python import osimport datetimeimport shutil dir="/aa" now = datetime.datetime.now()delta = datetime.timedelta(days=365) os.remove("/log/110Hudrm/gmss.txt")os.mknod("/log/110Hudrm/gmss.txt&q

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

Android lint  删除无用.冗余的  配置文件和 图片资源 转载请注明  http://blog.csdn.net/aaawqqq?viewmode=contents Android项目经过长期的迭代开发  项目当中有大量无用的java类和冗余图片 如果不整理将会导致 apk 包比较大 审查 清理Java类  使用UCDetector  可以查看我的上篇 博文 http://blog.csdn.net/aaawqqq/article/details/46684441 Android l

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

今天看下群里在讨论Discuz!X 3.4 任意文件删除漏洞,自己做了一些测试,记录一下过程.结尾附上自己编写的python脚本,自动化实现任意文件删除. 具体漏洞,请查看 https://paper.seebug.org/411/ 0x01 环境搭建 到官网下载Discuz 3.4版本,phpstudy 本机搭建,并注册账号.站点根目录新建111.txt,作为删除的目标文件. Discuz 3.4下载链接:http://www.discuz.net/thread-3825961-1-1.htm

lint工具删除无用资源最佳示例

lint删除无用图片最佳示例 1.使用lint命令生成报告 lint --check UnusedResources --html D:\95xiu510_bqt\95xiu5.1.0\mlint_bqt.txt D:\95xiu510_bqt\95xiu5.1.0 执行结果 产生的报告文件 2.处理生成的报告文件 首先,更改后缀名为.html(目的是去除里面的HTML标记) 其次,找到这里,点击展开 最后,复制上面.html文件中的内容到一个新的.txt文件中 3.根据要删除的文件类型设置筛选