删除android工程不再使用的资源文件

来源:互联网 发布:电脑网络维修上门 编辑:程序博客网 时间:2024/04/30 07:42

删除android工程不再使用的资源文件

1.

先cmd调用 lint --check "UnusedResources" /Users/alvin/Documents/workspacenewjuno/Alvin_Android7bug > ~/Downloads/result.txt


2.

printusedLineFrom 方法是打印出来复制到文件里面

removeUnUsedResources() 是删除多余文件


import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.Reader;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;public class ClearUnUsedResource {public static String RESULT_PATH = "/Users/alvin/Downloads/result.txt";public static String projectDirPath = "/Users/alvin/Documents/workspacenewjuno/Alvin_Android7bug";public static String STRING_PATH = projectDirPath+ "/res/values/strings.xml";public static String colors_PATH = projectDirPath+ "/res/values/colors.xml";public static String layoutDirPath = projectDirPath + "/res/layout";public static String layout_arDirPath = projectDirPath + "/res/layout-ar";public static String drawableDirPath = projectDirPath + "/res/drawable";public static String resDirPath = projectDirPath + "/res";public static void main(String[] args) {/** * 先cmd调用 lint --check "UnusedResources" * /Users/alvin/Documents/workspacenewjuno/CocoVoice_Android7bug > * ~/Downloads/result.txt *///// printusedLineFrom("res/values/strings.xml:", STRING_PATH);// removeUnUsedResources();printusedLineFrom("res/values/colors.xml:", colors_PATH);}private static void printusedLineFrom(String key, String filePath) {Set<Integer> unUsedNums = getUnUsedLineNumFormCheckResult(key,RESULT_PATH);List<String> lines = new ArrayList<String>();try {File file = new File(filePath);Reader reader = new FileReader(file);BufferedReader bf = new BufferedReader(reader);String line = "";lines.add("");while ((line = bf.readLine()) != null) { //lines.add(line);}} catch (Exception e) {e.printStackTrace();}int size = lines.size();String expen = "android.1428972613902";for (int i = 1; i < size; i++) {if (!unUsedNums.contains(i) || lines.get(i).contains(expen)) {System.out.println(lines.get(i));}}}private static Set<Integer> getUnUsedLineNumFormCheckResult(String key,String filePath) {Set<Integer> unUsedNums = new HashSet<Integer>();try {BufferedReader bf = new BufferedReader(new FileReader(filePath));int count = 0;String line = "";while ((line = bf.readLine()) != null) { //if (line.contains(key)) {String[] ss = line.split(":");if (ss != null && ss.length == 4) {int numberline = -1;try {numberline = Integer.parseInt(ss[1]);} catch (Exception e) {}if (numberline > 0) {unUsedNums.add(numberline);}}}}System.out.println("count :  " + count);} catch (Exception e) {e.printStackTrace();}return unUsedNums;}public static void removeUnUsedResources() {String resultFilePath = RESULT_PATH;Set<String> drawablepaths = new HashSet<String>();try {BufferedReader bf = new BufferedReader(new FileReader(resultFilePath));String line = "";while ((line = bf.readLine()) != null) { //if (line.contains("UnusedResources")&& !line.contains("res/value")&& !line.contains("appcompat")) {int end = line.indexOf(":");if (end != -1) {String file = projectDirPath + "/"+ line.substring(0, end);new File(file).delete();System.out.println(file);drawablepaths.add(file);}}}} catch (Exception e) {}for (String layoutpath : drawablepaths) {System.out.println(layoutpath);}}}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 到达迪拜t3 后怎么办 海藻面膜调多了怎么办 被鸡爪子抓伤了怎么办 被鸡抓伤肿了怎么办 护士电子化没有激活码怎么办 窗帘盒螺丝掉了怎么办 窗帘的环扣掉了怎么办 门式起重吊装行车脱轨怎么办 在日本丢了东西怎么办 在日本钱包丢了怎么办 被起诉后没钱还怎么办 分期付款卖车打不起车款怎么办 地铁票买多了怎么办 工伤陪护费没有发票怎么办 工伤医疗费报销单位不盖章怎么办 家里的led灯坏了怎么办 吊顶led灯坏了怎么办 客厅空了一面墙怎么办 轨道灯的轨道不够长怎么办 奔驰大灯不亮了怎么办 led顶灯不亮了怎么办 吸顶灯led灯坏了怎么办 车底盘塑料被刮怎么办 汽车门电机坏了怎么办 宁波北仑普高差三分该怎么办 上班的地方甲醛味很重怎么办 公司不给员工交社保怎么办 户口转到学校毕业了怎么办 外地户口转到北京档案怎么办 隧道防水板过紧怎么办 到国企没报到证怎么办 车子锁了油箱盖能开怎么办 单位不接受档案和户口怎么办 完税凭证弄丢了怎么办 育种玉米公本早了怎么办 网银转账打错了怎么办 转账名字打错了怎么办 普通转账名字打错了怎么办 银行账号转错了怎么办 打款信息错了怎么办 报到证过期了档案怎么办