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