資源沖突
公司在不斷推進(jìn)組件化,多個(gè)Module開發(fā)辞友,當(dāng)然也存在許多需要注意的問題栅哀。是無法保證多個(gè)Module中的資源命名完全不同,就可能會(huì)出現(xiàn)資源引用問題称龙,造成資源沖突留拾。
解決方式
可以根據(jù)不同Module功能來設(shè)置資源前綴,從而保證資源命名的唯一性鲫尊。
提問
團(tuán)隊(duì)開發(fā)痴柔,怎么保證每個(gè)人的資源命名都能遵守規(guī)則,設(shè)置前綴马昨?
那么能不能動(dòng)態(tài)檢測(cè)資源命名是否設(shè)置前綴竞帽?
Gradle 配置
在android 中設(shè)置 resourcePrefix 屬性,前綴字符串根據(jù)實(shí)際情況自定義鸿捧。
android {
compileSdkVersion 28
resourcePrefix "app_"
}
注意:resourcePrefix 只能限定Xml資源,并不能限定圖片資源疙渣,圖片資源扔需要自身注意設(shè)置前綴名匙奴。
各種場(chǎng)景
- values 文件夾下資源命名,以strings.xml為例
報(bào)紅提示.JPG
可以看到 name 有一個(gè)紅色下劃線妄荔,同時(shí)右側(cè)有紅色錯(cuò)誤提示
注意:這里只是一個(gè)提示作用泼菌,并阻斷編譯和運(yùn)行
報(bào)錯(cuò)提示如下:
錯(cuò)誤提示.JPG
修改為:添加Gradle設(shè)置的前綴谍肤,提示就會(huì)消失。
<string name="app_like">我喜歡湖畔的風(fēng)</string>
-
layout 文件
layout文件.JPG
修改為:重命名添加Gradle設(shè)置的前綴哗伯,報(bào)紅提示就會(huì)消失(app_activity_main)
- drawable荒揣、anim、color等文件夾下的xml資源命名同layout焊刹,不做過多描述系任。