Android项目 删除未使用资源的方法 使用lint

今天写程序时发现apk文件upload到模拟器很慢,检查一下发现有很多未使用的资源文件。
使用adt插件上的lint做的检查,但是条目实在太多。
作为一个程序员,这种批量删除的活肯定不会愿意去干噻。
网上搜索了一下,有这方面的工具,但是根本不靠谱啊


没法,只有手动处理一下喽


第一步:
使用android-sdk-windows\tools\lint.bat工具
先将检测结果导出到文本文件
代码:lint 工程目录 >d:/Temp/res.txt
将指定工程目录下的工程检测结果导出到res.txt中


第二步:
自己写代码来处理吧
你仔细看res.txt可以发现未使用资源格式的规律

下面是部分结果:

res\layout\activity_main.xml: Warning: The resource R.layout.activity_main appears to be unused [UnusedResources]
res\drawable\adapter_bg.xml: Warning: The resource R.drawable.adapter_bg appears to be unused [UnusedResources]
res\drawable\adapter_bg3.xml: Warning: The resource R.drawable.adapter_bg3 appears to be unused [UnusedResources]


我是这样子写的删除处理:

String projectPath = "xxx";
FileRowHander hander = new FileRowHander("d:/Temp/res.xml");
hander.handerRow(new IFileRowHander() {
	// 文件读取会逐行调用一次该方法
	public void hander(String fileRow) throws IOException {
		// 包含"UnusedResources"的都是未使用资源
		if (fileRow.contains("UnusedResources")) {
			// 我们只需要第一个冒号之前的那个路径,相对与项目目录的路径
			int end = fileRow.indexOf(':');
			if (end > 0) {
				String subPath = fileRow.substring(0, end);
				System.out.println("del -- " + subPath);
				String delFile = projectPath + "/" +subPath ;
				MyFileUtils.delFile(delFile);
			}
		}
	}
});


这就是对文件逐行处理,有些操作我封装了一下,大家就当伪代码看吧


如果有更好的方法,欢迎分享哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值