過濾Android工程中多余資源文件的解決方法
本文以實(shí)例講述了過濾Android工程中多余資源文件的解決方法,很有實(shí)用價(jià)值!具體描述如下:
很多開發(fā)人員在Android項(xiàng)目開發(fā)過程中經(jīng)常會(huì)遇到這樣的情況:界面開發(fā)人員發(fā)布了一個(gè)新版本的資源包,不過有的圖片名稱改了,有的圖片刪掉了,可是在實(shí)現(xiàn)的時(shí)候開發(fā)人員只是把新的資源覆蓋到原來的資源文件夾中,隨著版本的發(fā)布,在drawable或values中積累的無用資源越來越多,直到最后發(fā)布正式版的時(shí)候再想要?jiǎng)h除這些多余的文件,于是不得不一個(gè)一個(gè)文件檢查看是否有用,再?zèng)Q定要不要?jiǎng)h除之。
有鑒于此,很有必要將這個(gè)檢測的過程自動(dòng)化!
處理這一類問題大家首先想到的應(yīng)該就是shell腳本,下面是一段使用shell腳本來自動(dòng)檢測文件有沒有用到,并實(shí)現(xiàn)自動(dòng)刪除沒有用到的文件的功能:
#!/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 " 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(或者你可以改成任意目錄)下的所有文件列出來,然后在整個(gè)目錄中遍歷,對每個(gè)文件檢測有沒有‘@drawable/$filename'這種格式的用法(你可以自己改成任意格式),如果沒有使用到的話,就將文件刪除。使用的時(shí)候需要將這個(gè)腳本放在跟res同級的目錄。
這段代碼也可以用在其他任何需要檢測出未使用/已使用文件的地方,只要將對應(yīng)的目錄和匹配模式修改一下就可以了,或者如果為了通用,可以將所有配置寫在一個(gè)配置文件,也可以將配置作為參數(shù)傳遞進(jìn)去。
相關(guān)文章
AndroidStudio構(gòu)建項(xiàng)目提示錯(cuò)誤信息“unable to find valid certification”的
這篇文章主要介紹了AndroidStudio構(gòu)建項(xiàng)目提示“unable to find valid certification”最新解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Android Studio debug.keystore位置介紹
這篇文章主要介紹了Android Studio debug.keystore位置,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android中SeekBar拖動(dòng)條控件使用方法詳解
這篇文章主要介紹了Android中SeekBar拖動(dòng)條控件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android使用ViewPager實(shí)現(xiàn)啟動(dòng)引導(dǎo)頁
這篇文章主要為大家詳細(xì)介紹了Android使用ViewPager實(shí)現(xiàn)第一次啟動(dòng)引導(dǎo)頁,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07android使用PopupWindow實(shí)現(xiàn)頁面點(diǎn)擊頂部彈出下拉菜單
這篇文章主要給大家介紹android使用PopupWindow實(shí)現(xiàn)頁面點(diǎn)擊頂部彈出下拉菜單,實(shí)現(xiàn)此功能主要通過PopupWindow方法,代碼也很簡單,需要的朋友可以參考下2015-08-08Android開發(fā)實(shí)現(xiàn)Fragment監(jiān)聽返回鍵事件功能的方法
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)Fragment監(jiān)聽返回鍵事件功能的方法,結(jié)合實(shí)例形式分析了Android使用Fragment監(jiān)聽并屏蔽返回鍵按鈕的實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下2017-11-11