最近精简工程中的资源,在长时间开发过程中会冗余很多资源文件,如果手动删除,太耗时间。Android中提供了一个lint工具,可以帮助我们找到未使用的资源文件和未使用的value中的属性。下面介绍步骤:

1、在window的cmd中使用:

lint --check "UnusedResources" E:\myWorkspace\myapp > D:\result.txt
  result.txt 默认路径c:\Users\[UserName]
    记得将命令中的路径更换成自己工程的路径
解释:使用lint命令,将工程myapp中res文件夹下未使用到的资源文件的信息,输入到D盘下的result.txt文件中
 注意:生成的result.txt文件使用windows自带的记事本打开时,会出现换行异常;所以应使用EditPlus等软件打开!!!
   
  
  
   2、自己写个方法读取result.txt中的内容,然后使用代码删除冗余文件。
方法如下:

    /**     * 删除 未使用的冗余资源     *     * @param bool 是否删除文件     * @throws Exception     */    private static void deleteRes(boolean bool) throws Exception {        String encoding = "UTF-8";  // 字符格式        String projectPath = "E:\\myWorkspace\\myapp\\";    //Android工程所在地址        String filePath1 = "D:\\";  //result的所在路径        File file = new File(filePath, "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\\value") && !line.contains("appcompat")                        && !line.contains("res\\xml")&& !line.contains("res\\raw")&& !line.contains("res\\menu")) {                    // 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 (bool) {                            boolean delete = new File(f).delete();                            System.out.println("delete  " +delete+ " !!!!!");    //输出删除信息                        }                    }                }            }            read.close();        }    }


将projectPath、filePath修改成自己的路径,注意最后面必须要有两个斜线!!!!!! 否则拼出的路径会少一个斜线,造成错误!!!!

3、使用上面方法可以删除冗余文件。


注意:

1、该方法中会打印 冗余文件路径 和删除是否成功信息

2、多次运行上面的类,进行多次删除,直到控制台没有任何打印信息为止,才能将冗余文件删除干净。原因:由于一次删除之后,可能将某些文件的引用删掉了,可能产生新的冗余文件



更多相关文章

  1. Android(安卓)- Unparsed aapt error(s)错误的处理方法
  2. 8个常用的Android开发工具
  3. Android(安卓)MP3音乐播放器总结
  4. 如果你现在学Android---学习使用Kotlin进行Android开发
  5. Android初步
  6. Android涂鸦技术及刮刮乐示例分析
  7. Android(安卓)NDK开发篇(一) windows免cygwin搭建ndk环境
  8. android sqlite 介绍
  9. Android(安卓)Jni代码示例讲解

随机推荐

  1. android 自定义控件pickview
  2. 转 android背景选择器selector用法汇总
  3. Android工程运行 ADB server didn't ACK
  4. Android crop image size
  5. android 图片放大缩小
  6. Android获取本周本月本年的第一天和最后
  7. Android(安卓)Permission List
  8. android 自动化压力测试-monkey 3 命令参
  9. Android实现将View保存成Bitmap的方法
  10. android仿探探图片拖拽功能