但是有些react-native開發(fā)者不會替換圖片,因為壓根沒有學android開發(fā)鹃唯,這樣能理解,那么如何讓他們更輕松的玩轉react-native之android呢搔耕,那么看看下面的姿勢大全吧茫因,修改項目圖片削咆,掌握apk的結構牍疏,修改 qq的圖片 修改qq布局資源都不在話下。
知識普及
arr實際上也是壓縮包,所以直接替換壓縮包里面文件就可以修改拨齐,
apk實際上也是壓縮包鳞陨,替換壓縮包里面的圖片當然也可以修改,但是這個需要簽名才能進行安裝瞻惋,修改之后需要重新簽名厦滤。
因為是壓縮包,所以圖片是如何來的都可以通過打開apk文件進入對應的圖片文件夾查看對應的圖片歼狼。如drwable-xxhdpi,或者assets文件夾
替換的多種方式概要
如arr庫,
或者是純項目庫(圖片資源就在項目文件夾)掏导。
替換方法至少有2種:
暴力修改法:
arr:可以直接打開arr壓縮包替換圖片
lib:對于第三方純庫則直接替換對應資源文件,這種方法會導致源sdk被侵入修改,不那么推薦。
主模塊同名替換法
新建相同文件夾建立相同名字的資源文件,
如arr壓縮包里面的drawable-xxhdpi里面有a.png那么我的主項目模塊里面也在drawable-xxhdpi里面放一個a.png
對于圖片純了直接用圖片也可以新建同名xml指向其他圖片
修改源sdk方式
對于arr
則直接打開壓縮包解壓然后找到找到要替換的圖片記住他的名字蹂匹,然后打開arr包進入這個圖片相應的文件夾覆蓋圖標碘菜,圖標可能有多套也可能只有一套,如
在drawable-xxhdpi
有一個叫a.png 限寞,在drawable-xhdpi
等等忍啸,根據比例替換即可,如果不想弄這么多適配,或者ui懶得切只切了1920x1080也就是drawable-xxhdpi
的履植,盡量把drawable-xhdpi ,drawable-hdpi,drawable-mdpi
里面的同名圖片刪除
保留drawable-xxhdpi
里面的即可计雌。
對于lib工程
一樣的道理,只不過不需要修改壓縮包而是直接修改工程
保持源sdk不變方式
如下圖有arr或者 純第三方gradle庫的結構下有如下圖片
xxxx.aar\res\drawable-xxhdpi-v4 - ZIP archive, unpacked size 4,238,438 bytes
從上圖看drawable-xxhdpi-v4里面有bcs_num_del.png,
替換方法:
在app項目的res文件夾新建drawable-xxhdpi文件夾玫霎,弄一個同名文件
如下圖就放了一個同名文件
打包成apk之后會優(yōu)先使用主項目工程的圖片凿滤,
對于布局xml,動畫文件,等修改也是同樣的道理庶近。
注意:
這種方式需要注意一個細節(jié)翁脆,如果arr壓縮包的
那么如果drawable-xhdpi-v4
,drawable-hdpi-v4
等文件夾也有的話,就需要把arr壓縮包其他文件夾里面里的同名文件刪掉鼻种,或者你也模仿在app模塊res下新建這個文件夾然后也弄一個同名圖片反番,如果不這樣做造成的問題是在這個比例的手機上 比如drawable-xhdpi是1080x768手機,那么這個手機的圖片還是原來sdk第三方的圖片叉钥。
罢缸,當然其他方式也差不多,要么采用刪除大法保留一個文件投队,要么就是全部同等在app模塊創(chuàng)建這么多圖片枫疆,或全部替換。
補漏細節(jié)
由于arr里面一般是攜帶-v4的要實現用app主模塊新建同名文件實現替換效果必須主模塊文件夾也和arr里面文件夾一樣敷鸦,我之前設置不一樣會導致開發(fā)工具提示錯誤息楔。
校驗結果
打包成apk之后直接用壓縮包工具打開查看一下這些目錄是否圖片已經替換了寝贡。
關于v4
打包之后會變成v4,所以不用管,工程里面不需要加-v4打包完成之后會自動放到drwable-***-v4里面钞螟,但是要替換arr里面的圖片就必須和arr里面的一樣有v4的必須有才能替換掉兔甘。