自动删除Android项目中未使用的资源

在 Sdk\tools目录下找到lint工具
使用cmd命令进入到lint工具的文件夹中,再输入以下命令:
 lint -check "UnusedResources" 项目绝对路径(如:E:\Android\androidworkADT\TBaseView) > 导出的文件名.txt


例子:
lint -check "UnusedResources" E:\Android\androidworkADT\TBaseView > result.txt 


此时会在tools的文件夹中生成一个result.txt的文件,此文件中保存有资源调用的情况,然后我们创建一个java项目,读取这个文件,更加文件中的内容进行删除

<pre name="code" class="java">	public static void main(String[] args) {
		//项目路径 
		String projectPath = "E:\\Android\\androidworkADT\\TBaseView";
		// 使用cmd命令生成的保存了资源调用情况的文件路径
		String lintResult = "E:\\Android\\eclipseADT\\adt-bundle-windows-x86_64-20131030\\sdk\\tools\\result.txt";
		
		BufferedReader reader = null;
		String line;
		int count = 0;
		try {
			reader = new BufferedReader(new FileReader(lintResult));
			while ((line = reader.readLine()) != null) {
				// 只清理未使用的图片资源,drawable drawable-mdpi
				// drawable-hdpi,drawable-xhdpi
				// drawable-xxhdpi
				if ((line.contains("UnusedResources") && line.contains("res\\drawable-ldpi")) || (line.contains("UnusedResources") && line.contains("res\\drawable-mdpi")) || (line.contains("UnusedResources") && line.contains("res\\drawable-hdpi")) || (line.contains("UnusedResources") && line.contains("res\\drawable-xhdpi")) || (line.contains("UnusedResources") && line.contains("res\\drawable-xxhdpi"))) 
				{
					count++;
					int end = line.indexOf(":");
					if (end != -1) {
						String file = line.substring(0, end);
						String f = projectPath + "\\" + file;
						boolean flag = new File(f).delete();
						System.out.println(count + " 删除文件:" + f + "=>是否删除成功:=>" + flag);
					}
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值