Android Lint清除无用的资源文件

之前项目中需要清理下无用的图片资源,减下apk的大小,我用一下方法成功的为我们的应用减去4M。


1.执行Lint命令生成无用资源列表

1)执行命令  lint --check "UnusedResources" /Users/baozi/Dev/android/android > c:/result.txt 

2)命令说明lint --check "UnusedResources" "工程目录" > "生成文件目录"  

3)如果你的lint命令不能执行,看看你是否在Android sdk目录下或者是否配置了环境变量

2.执行一下代码去删除无用的资源文件


package com.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Test {

public static void main(String[] args) {
    System.out.println("start");
    try {
        init(true);
    } catch (Exception e) {
     
        e.printStackTrace();
    }
}

private static void init(boolean b) throws Exception {  
   
    String encoding = "UTF-8"; // 字符格式  
    String projectPath = "C:/Users/Administrator/Desktop/project/";//Android工程所在地址  
    String filePath1 = "C:/Users/Administrator/Desktop";//result的所在路径  
    File file = new File(filePath1, "result.txt");//获取result.txt 文件 生成地址  
    if (file.isFile() && file.exists()) { // 判断文件是否存在  
        InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式  
        BufferedReader bufferedReader = new BufferedReader(read);  
        String line = null;  
        while ((line = bufferedReader.readLine()) != null) {  
            if (line.contains("UnusedResources") && !line.contains("res\\values") && !line.contains("appcompat")  
                    && !line.contains("res\\xml")) {  
                // System.out.println(line);  
                int end = line.indexOf(":");  
                if (end != -1) {  
                    String file_end = line.substring(0, end);  
                    String f = projectPath + file_end;  
                    System.out.println(f);  
                    if (b) {  
                       boolean bool = new File(f).delete();  
                       if(bool)
                       {
                           System.out.println("删除成功");  
                       }else
                       {
                           System.err.println("删除失败");  
                       }
                    }  
                }  
 
            }  
 
        }  
        read.close();  
 
    }  
}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值