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

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