随着项目不断变大,layout等资源目录下可能会有上百个文件,查找效率低, strings.xml等key-value型文件多人修改时冲突频繁。android
将 res 像 src code 同样根据业务模块分包,不一样开发成员负责维护不一样的包,结构清晰,冲突少。bash
在 main 目录下新建 res_core, res_feed(根据业务模块命名)等目录,在res_core中新建res目录中相同的文件夹如:layout、drawable-xxhdpi、values等。app
注意细节: 为了不资源重名,建议不一样模块下的资源文件名加上模块名前缀,如core_icon_xxx.png, core_activity_xxx。 在strings.xml这类文件,为资源的key加上模块名前缀。ui
<resources>
<string name="core_demo">demo</string>
<string name="core_app_name">demo_0221_res</string>
</resources>
复制代码
android {
//...
sourceSets {
main {
res.srcDirs(
'src/main/res',
'src/main/res_core',
'src/main/res_feed',
)
}
}
}
复制代码