Android 冗余資源清理工具 ? Cleaner

Android 項目越來越臃腫饥瓷,冗余資源越來越多,怎么辦? Cleaner 助您一鍵自動發(fā)現(xiàn)并清理項目中的冗余資源葡幸。

相關(guān) Github 源碼 ? Cleaner
版權(quán)聲明:本文為 frendy 原創(chuàng)文章,可以隨意轉(zhuǎn)載贺氓,但請務(wù)必在明確位置注明出處蔚叨。


背景

其實這是個低頻需求,只是因為在目前公司的項目中辙培,一個 Android Studio 工程同時支撐多個 App蔑水,在持續(xù)迭代一段時間后, 免不了多出一些冗余的資源扬蕊,比如 Image搀别、Color、Drawable 等等尾抑,耗費人力去清理顯然不劃算歇父,還不如簡單粗暴寫一腳本是吧蒂培。


原理

實現(xiàn)過程也確實很簡單很粗暴:

  1. 遍歷指定的文件夾,發(fā)現(xiàn)相關(guān)文件榜苫;
  2. 遍歷相關(guān)文件和內(nèi)容护戳,引用數(shù)為 0 即清理。

這里貼上部分清理圖片的源碼:

def findFiles(dir):
    ...
    for parent, dirnames, filenames in os.walk(dir):
        for filename in filenames:
            if "\\build" in parent or "\\.idea" in parent or "\\.gradle" in parent:
                continue

            ext = file_extension(filename)
            if ext == ".png" or ext == ".jpg":
                IMAGE.append(os.path.join(parent, filename))
            elif ext == ".java" or ext == ".kt" or ext == ".xml":
                FILE.append(os.path.join(parent, filename))

            if "color.xml" in filename:
                COLOR.append(os.path.join(parent, filename))

            if "\\drawable" in parent and ext == ".xml":
                DRAWABLE.append(os.path.join(parent, filename))
def cleanImage(images, files):
    ...
    for image in images:
        isUsed = False

        for file in files:
            if(containPath(image, file)):
                isUsed = True
                #print("++ Used : %s, %s" % (image, file))
                continue

        if isUsed == False:
            cnt += 1
            print(">> Redundant : " + image)

            if args.type == "svn":
                os.system("svn del " + image)
            else:
                os.remove(image)

用法

Usage

示例

Sample

最后嘮叨下近況垂睬,幫紙媒做 App媳荒,一個月基本完成;機(jī)器學(xué)習(xí) Image Caption 因為電腦內(nèi)存不夠用羔飞,沒啥進(jìn)度肺樟,暫時擱置;ICO 這么火逻淌,一茬茬韭菜么伯?膽子不夠大,未敢妄入卡儒,然區(qū)塊鏈還是很牛逼的田柔,去中心化、共識問題等等還是值得深挖的骨望;生財心切硬爆,最近看起了運營和產(chǎn)品的一些套路... 恩,有想法的都砸過來吧擎鸠,一起折騰折騰(捂臉)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缀磕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子劣光,更是在濱河造成了極大的恐慌袜蚕,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绢涡,死亡現(xiàn)場離奇詭異牲剃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雄可,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門凿傅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人数苫,你說我怎么就攤上這事聪舒。” “怎么了虐急?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵过椎,是天一觀的道長。 經(jīng)常有香客問我戏仓,道長疚宇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任赏殃,我火速辦了婚禮敷待,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仁热。我一直安慰自己榜揖,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布抗蠢。 她就那樣靜靜地躺著举哟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迅矛。 梳的紋絲不亂的頭發(fā)上妨猩,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音秽褒,去河邊找鬼壶硅。 笑死,一個胖子當(dāng)著我的面吹牛销斟,可吹牛的內(nèi)容都是我干的庐椒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蚂踊,長吁一口氣:“原來是場噩夢啊……” “哼约谈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起犁钟,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤棱诱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后特纤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體军俊,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年捧存,在試婚紗的時候發(fā)現(xiàn)自己被綠了粪躬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昔穴,死狀恐怖镰官,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吗货,我是刑警寧澤泳唠,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站宙搬,受9級特大地震影響笨腥,放射性物質(zhì)發(fā)生泄漏拓哺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一脖母、第九天 我趴在偏房一處隱蔽的房頂上張望士鸥。 院中可真熱鬧,春花似錦谆级、人聲如沸烤礁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脚仔。三九已至,卻和暖如春舆绎,著一層夾襖步出監(jiān)牢的瞬間鲤脏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工亿蒸, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留凑兰,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓边锁,卻偏偏與公主長得像姑食,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茅坛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容