Android res 资源 分包

提出背景

随着项目不断变大,layout等资源目录下可能会有上百个文件,查找效率低,
strings.xml等key-value型文件多人修改时冲突频繁。

解决思路

将 res 像 src code 一样根据业务模块分包,不同开发成员负责维护不同的包,结构清晰,冲突少。

具体操作

  1. 新建res_xxx目录


    Android res 资源 分包_第1张图片
    image.png

在 main 目录下新建 res_core, res_feed(根据业务模块命名)等目录,在res_core中新建res目录中相同的文件夹如:layout、drawable-xxhdpi、values等。

注意细节:
为了避免资源重名,建议不同模块下的资源文件名加上模块名前缀,如core_icon_xxx.png, core_activity_xxx。
在strings.xml这类文件,为资源的key加上模块名前缀。


    demo
    demo_0221_res

  1. 配置res_xx目录
android {
    //...
    sourceSets {
        main {
            res.srcDirs(
                    'src/main/res',
                    'src/main/res_core',
                    'src/main/res_feed',
            )
        }
    }
}

你可能感兴趣的:(Android res 资源 分包)