過(guò)濾Android工程中多余資源文件的解決方法
本文以實(shí)例講述了過(guò)濾Android工程中多余資源文件的解決方法,很有實(shí)用價(jià)值!具體描述如下:
很多開發(fā)人員在Android項(xiàng)目開發(fā)過(guò)程中經(jīng)常會(huì)遇到這樣的情況:界面開發(fā)人員發(fā)布了一個(gè)新版本的資源包,不過(guò)有的圖片名稱改了,有的圖片刪掉了,可是在實(shí)現(xiàn)的時(shí)候開發(fā)人員只是把新的資源覆蓋到原來(lái)的資源文件夾中,隨著版本的發(fā)布,在drawable或values中積累的無(wú)用資源越來(lái)越多,直到最后發(fā)布正式版的時(shí)候再想要?jiǎng)h除這些多余的文件,于是不得不一個(gè)一個(gè)文件檢查看是否有用,再?zèng)Q定要不要?jiǎng)h除之。
有鑒于此,很有必要將這個(gè)檢測(cè)的過(guò)程自動(dòng)化!
處理這一類問題大家首先想到的應(yīng)該就是shell腳本,下面是一段使用shell腳本來(lái)自動(dòng)檢測(cè)文件有沒有用到,并實(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
上面的代碼很簡(jiǎn)單,首先將drawable(或者你可以改成任意目錄)下的所有文件列出來(lái),然后在整個(gè)目錄中遍歷,對(duì)每個(gè)文件檢測(cè)有沒有‘@drawable/$filename'這種格式的用法(你可以自己改成任意格式),如果沒有使用到的話,就將文件刪除。使用的時(shí)候需要將這個(gè)腳本放在跟res同級(jí)的目錄。
這段代碼也可以用在其他任何需要檢測(cè)出未使用/已使用文件的地方,只要將對(duì)應(yīng)的目錄和匹配模式修改一下就可以了,或者如果為了通用,可以將所有配置寫在一個(gè)配置文件,也可以將配置作為參數(shù)傳遞進(jìn)去。
相關(guān)文章
Android實(shí)現(xiàn)View滑動(dòng)的幾種方式
Android中的View類是所有UI控件的基類(Base class),也就是說(shuō)我們平時(shí)所有到的各種UI控件,比如Button、ImagView等等都繼承自View類。這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)View滑動(dòng)的幾種方式,需要的朋友可以參考下2016-04-04
Android編程實(shí)現(xiàn)的EditText彈出打開和關(guān)閉工具類
這篇文章主要介紹了Android編程實(shí)現(xiàn)的EditText彈出打開和關(guān)閉工具類,涉及Android輸入框EditText彈出打開和關(guān)閉功能簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-02-02
2014值得推薦的10個(gè)移動(dòng) Web 應(yīng)用程序開發(fā)框架
今天這篇文章向大家推薦10大優(yōu)秀的移動(dòng) Web 開發(fā)框架,幫助開發(fā)者更加高效的開發(fā)移動(dòng)Web應(yīng)用。2014-08-08
Android用代碼獲取手機(jī)root之后的最高權(quán)限
機(jī)得root之后通過(guò)代碼可以獲得最高權(quán)限如果沒有root的話請(qǐng)不要往下看,毫無(wú)意義,root之后的朋友可以參考下本文或許有意想不到的收獲2013-03-03
Android實(shí)現(xiàn)搖一搖簡(jiǎn)單功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)搖一搖簡(jiǎn)單功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03

