利用python自动清除Android工程中的多余资源
来源:互联网 发布:php 类 编辑:程序博客网 时间:2024/05/16 12:49
我们直接在公司项目中使用,效果良好!
分享出脚本代码,希望对Android研发的同学有帮助。
提示,初学python,开发环境是Sublime Text 2,直接Ctrl+B的,其他环境下没调试过。应该差不多^^
##################################################环境: win + python 2.7#作者:马波#邮箱:mabo02@baidu.com#部门:hao123-无线#说明:首次使用时lint分析会耗几分钟,请耐心等待。# 使用前先clean工程,确保工程bin下重新生成dex,# 以便lint进行分析。如果要lint重新分析多余# 资源,需要删掉(2)txt记录文件,(1)(3)(4)需要# 根据我们的实际工程手动设置。# 如果清除资源后,工程缺少文件而报错(极少# 情况),尝试通过svn恢复该文件即可。#################################################import subprocess import reimport osimport timeimport thread #(1)工程位置projectPath="D:\/hao123\/code\/client-android"#(2)lint输出txt记录文件txt="D:\/hao123_unused_res.txt"#(3)正则表达式,清除drawable和layout下多余的jpg/png/xml,# 并且排除以sailor_|wenku_|zeus_|bdsocialshare_|floating_life_|weather_info_icon_|anthology_开头的文件regex = re.compile(r"^res\\(drawable(-land)?(-[xn]?[mhlo](dpi))|layout)?\\(?!(sailor_|wenku_|zeus_|bdsocialshare_|floating_life_|weather_info_icon_|anthology_))[0-9a-zA-Z_\.]*\.(jpg|png|xml)", re.IGNORECASE)#(4)lint.bat的位置lint="D:\/sdk\/tools\/lint.bat"isgotTxt=Falsedef timer(interval): while not isgotTxt: print 'Lint is analyzing: %s'%time.ctime() time.sleep(interval)if not os.path.exists(txt): thread.start_new_thread(timer, (5,)) cmd=lint+' --check "UnusedResources" "'+ projectPath +'" >'+txt p = subprocess.Popen(cmd, shell = True,stdout = subprocess.PIPE,stdin = subprocess.PIPE,stderr = subprocess.PIPE) p.wait()fobj=open(txt,'r') isgotTxt=Truei=0j=0for line in fobj: #print str(i)+":"+line match=regex.match(line) if match: i=i+1 filename=projectPath+"\/"+match.group().replace('\\',"\\/") try: print filename os.remove(filename) j=j+1 print "was deleted!" except WindowsError: print "is not exists" passprint "Total Unused Resources = "+str(i)print "Total deleted Resources = "+str(j)
0 0
- 利用python自动清除Android工程中的多余资源
- 清除android程序中的多余资源
- 清除android程序中的多余资源
- android 清除程序中的多余资源
- 清除android程序中的多余资源
- 清除android程序中的多余资源
- 如何清除Android项目中的多余资源
- 【Android 资源】清除android程序中的多余资源
- 过滤Android工程中多余的资源文件
- 过滤Android工程中多余的资源文件
- 过滤Android工程中多余的资源文件
- 过滤Android工程中多余的资源文件
- 使用Lint+python删除Android工程中的冗余资源
- 清除Android工程中没用到的资源
- 清除Android工程中没用到的资源
- 清除Android工程中没用到的资源
- 清除Android工程中没用到的资源(转)
- 清除Android工程中没用到/未用到的资源
- COJ 1645计算几何:判断线段是否相交
- 略谈ASP.NET中C#的string引用类型
- GStreamer基础教程02——GStreamer概念
- 工厂方法模式(Factory Method Pattern)理论篇
- Codeforces 400C Inna and Huge Candy Matrix
- 利用python自动清除Android工程中的多余资源
- 重建控制文件怎么样得到建控制文件的语句
- linux 至尊播放器MPlayer 安装详解
- 十六进制转十进制
- 工厂方法模式(Factory Method Pattern) 应用篇(上)
- 如果你看不懂KMP算法,那就看一看这篇文章( 绝对原创,绝对通俗易懂)
- setup for android
- struts2中重定向中文参数乱码梳理
- 厂方法模式(Factory Method Pattern) 应用篇(下)