多模块项目:如果不覆盖,将使用哪些模块资源?

时间:2018-07-15 12:42:42

标签: android module resources android-resources

假设我有如下模块:

  
      
  • 应用核心
  •   
  • app-db
  •   
  • app-ui
  •   
  • 应用
  •   

"Value: $($var.Foo)"模块包括所有其他3个模块。假设除app以外的所有模块都定义了一个名称为app的字符串。哪一个赢了?我该如何控制?

1 个答案:

答案 0 :(得分:1)

资源将按以下顺序合并:

  

构建变体>构建类型>产品风味>主要源集>库依赖项

因此,当app是您的apk时,这些资源具有最高优先级,

  

但是,如果您的构建配置为给定的源集指定了多个资源文件夹,并且这些源之间存在冲突,则会发生错误,并且合并会失败,因为每个资源目录具有相同的优先级。

完整的详细信息在这里: https://developer.android.com/studio/write/add-resources#resource_merging