自动化清理Android中无用的资源文件。
来源:互联网 发布:淘宝卖家信用度 编辑:程序博客网 时间:2024/05/29 07:11
我们直接在公司项目中使用,效果良好!
分享出脚本代码,希望对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
- 自动化清理Android中无用的资源文件。
- 清理Android中无用的drawable资源和values资源
- android 如何清理无用的资源文件(studio)
- Android项目中如何清理无用的资源文件或代码
- 快速清理Android中无用的资源信息,图片,字符串等
- Android清除工程中无用的资源文件
- Android自动清理无用资源工具
- Android自动清理无用资源工具
- Android studio 之ANalyze 清理无用资源
- Android清理无用资源——基础
- Android Lint清除无用的资源文件
- Android Studio删除无用的资源文件
- Android Studio删除无用的资源文件
- 在android-studio中,使用android 中 lint 来清除无用的资源文件
- 利用Android studio 删除项目中无用资源文件
- git 清理无用文件
- 使用Android Studio的lint清除无用的资源文件
- 使用Android Studio的lint清除无用的资源文件
- TCP/IP,http,socket,长连接,短连接
- js定时刷新Frame
- 四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)
- 【学习笔记】Java抽象类和接口的一些总结
- compareTo()方法返回值 String java
- 自动化清理Android中无用的资源文件。
- Java中的10颗语法糖
- 仿QQ微信底部的带消息数量
- java 汉字按照拼音排序
- Apache Shiro 使用手册
- JTAG调试原理
- 如何让sublime text 2 支持livescript
- iOS7 TextKit 框架的简单实用
- Eclipse快捷键 10个最有用的快捷键