我们希望将代码库分成几个android库模块。其中一个包含共享共享资源(字符串,drawables等)。
当其中一个资源(比如app_name
)也在另一个外部库中定义时,会出现问题。在这种情况下,当合并所有模块时,从外部库(随机?)中选择标识为app_name
的资源,丢弃在我们自己的本地库模块中定义的资源。
在合并资源以支持特定库或至少是本地定义的模块时,有没有办法设置优先级?
答案 0 :(得分:1)
过去我遇到过这个问题,这就是我解决问题的方法:
在app
模块(您的主模块)中将其添加到build.gradle
文件中:
sourceSets {
main {
res.srcDirs =
[
'../my-module/src/main/res',
'src/main/res'
]
}
}
../my-module/src/main/res
- >通过这种方式,您将引用存储在库模块的相对路径中的资源(my-module
)src/main/res
- >需要参考app
模块