你的硬盤上有重復的文件么?我指的不是備份出來的文件,而是同一個文件的沒有用的復本,可能是你不知不覺中
下載或多次創(chuàng)建的。DoubleKiller能幫你把他們找出來。盡管這個程序使用起來有些別扭(例如在你使用第一個標簽功能之前必須先設置第二個標簽),但是這個程序可以搜索不同
驅(qū)動器的指定類型文件,查找文件名、大小、創(chuàng)建時間或CRC32校驗相同的文件。完成搜索后,DoubleKiller可以讓你批量選擇是移動還是刪除文本去重復
為什么資源文本去重復容易引起bug
依賴關系
DoubleKiller安卓資源文本去重復圖一
同名布局文件a.xml,如果同時存在于主工程和插件工程,編譯的結(jié)果會以主工程a.xml的為準。
這會引起兩個問題
UI優(yōu)化的時候,改在插件工程,代碼審核的時候沒問題,但是實際沒起作用(被主工程覆蓋了)
a.xml里有個TextView,主工程里ID叫tv_app,插件工程里ID叫tv_library
因為編譯后,插件tv_library會被覆蓋成tv_app,所以插件工程里,訪問tv_library相關的findViewById()會崩潰
找不到tv_library資源崩潰,Caused by: java.lang.NoSuchFieldError: No static field tv_library of type I in class Landroid/kimmy/net/mylibrary/Rid; or its superclasses (declaration of \'android.kimmy.net.mylibrary.Rid\' appears in /data/app/android.kimmy.net.myapplication-1/base.apk)
at android.kimmy.net.mylibrary.CustomView.initViews(CustomView.java:37)
DoubleKiller安卓資源文本去重復圖二
如何解決
掃描各項插件工程和主工程的src/main/res下的重名資源文件,優(yōu)先剔除主工程里面的文件。
借助工具可以幫助我們簡化這個步驟,網(wǎng)上找了下DoubleKiller 還不錯,就不自己造輪子了。
使用方式很簡單,打開程序,點擊運行,會提示你添加掃描目錄,把res目錄下的一一添加,點擊運行即可
DoubleKiller安卓資源文本去重復圖三
掃描速度很快(好奇使用了啥算法,比國產(chǎn)的幾個軟件快很多),我們根據(jù)主工程、插件工程重名的原則去重。插件
DoubleKiller安卓資源文本去重復圖四
以上就是DoubleKiller安卓資源文本去重復