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

