Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 過濾Android工程中多余的資源文件

過濾Android工程中多余的資源文件

編輯:關於Android編程

在Android項目開發過程中經常會遇到這樣的情況:界面開發人員發布了一個新版本的資源包,不過有的圖片名稱改了,有的圖片刪掉了,可是在實現的時候開發人員只是把新的資源覆蓋到原來的資源文件夾中,隨著版本的發布,在drawable或values中積累的無用資源越來越多,直到最後發布正式版的時候再想要刪除這些多余的文件,於是不得不一個一個文件檢查看是否有用,再決定要不要刪除之。

那能不能將這個檢測過程自動化呢,對於無所不能的程序猿們來說這是必須地~

處理這一類問題大家首先想到的應該就是shell腳本,下面是一段使用shell腳本來自動檢測文件有沒有用到,並實現自動刪除沒有用到的文件的功能:

  #!/bin/sh
  resfile=result.txt
  #drawdir=res/layout
  drawdir=res/drawable-hdpi
  tmpdrawfile="tmpdraw.txt"

  #clear tmp file
  echo "" > $tmpdrawfile
  echo "" > $resfile
  ls $drawdir > $tmpdrawfile
  #ls $tmpdrawfile
  cat $tmpdrawfile | while read line
  do
  filename=`echo $line | sed 's/..*//'`
  #echo $filename
  #start to search
  grepMode=@drawable/$filename"
  grepDir=./res
  #grepMode=R.layout.$filename
  #grepDir=./com
  result=`grep -r $grepMode $grepDir`
  if [ "$result" == "" ]
  then
    echo $line
    echo $line >> $resfile
    rm -f $drawdir/$line
  #else
   # echo "----------------"
  fi
  done
  rm -f $tmpdrawfile
上面的代碼很簡單,首先將drawable(或者你可以改成任意目錄)下的所有文件列出來,然後在整個目錄中遍歷,對每個文件檢測有沒有‘@drawable/$filename’這種格式的用法(你可以自己改成任意格式),如果沒有使用到的話,就將文件刪除。使用的時候需要將這個腳本放在跟res同級的目錄。

這段代碼也可以用在其他任何需要檢測出未使用/已使用文件的地方,只要將對應的目錄和匹配模式修改一下就可以了,或者如果為了通用,可以將所有配置寫在一個配置文件,也可以將配置作為參數傳遞進去。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved