MAC平台下批量删除Android项目中的废弃资源

本来这里的方法很多,在mac上做到还是没有win下方便,

1,借助一个jar包(AndroidUnusedResources1.6.2.jar):

把该jar包放到工程目录下,如下图所示:
这里写图片描述

然后在控制台执行:cd 你所在的工程路径

例如:cd /Users/hl/Documents/workspace/YourProject

然后再执行

java -jar AndroidUnusedResources1.6.2.jar > del.txt

此句的意思是直接将废弃资源的路径找到并生成一个文件,可能需要执行几分钟,至此你可以刷新工程目录,会找到一个del.txt文件

2,可以打开del.txt文件之后

会发现有很多地址路径,如果此时你批量删除的话,有很多可能误删,所以我就根据路径最后带的格式来批量删除

3,新建一个java工程

package com.hloong.deletefile;

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

public class Delete {
    private static String dir = "/Users/hl/Documents/workspace/YourProject/del.txt";
    public static void main(String[] args) {
        try {
            deletefile(dir);
        } catch (IOException ex) {
            System.out.println("etes");
        }
    }

    private static void deletefile(String dir) throws IOException {
        // TODO Auto-generated method stub
        File file = new File(dir);
        InputStreamReader read = new InputStreamReader(new FileInputStream(file),"UTF-8");//考虑到编码格式
        BufferedReader bReader = new BufferedReader(read);
        String string = "";
        while ((string = bReader.readLine())!=null) {//循环读取行
            if (!string.contains("ssdk_")) {//保留sharesdk的资源,防止误删
                if (string.contains(".png") || string.contains(".xml")) {//假如是图片或者.xml
                    System.out.println(string.replaceAll("/","//").toString().trim());
                    new File(string.replaceAll("/","//").trim()).delete();
                }
            }
        }
        read.close();
    }
}

运行然后刷新下工程目录就会发现很多资源已经被删掉了
但是如果你不保留一些第三方的资源比如sharesdk,会发现他们也被删掉了,所以没办法你只能把sharesdk的资源保留,可以在删除文件的java工程里过滤(代码里有示例)
其他的就只能手动删了,毕竟这个jar包还是能力有限

jar包下载地址:http://download.csdn.net/detail/tmacsky/8705755

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章