【问题标题】:Android Flavors : Multiple java and src directories for each flavorAndroid Flavours:每种风味都有多个 java 和 src 目录
【发布时间】:2015-11-28 04:52:07
【问题描述】:

任何人都可以向我解释我如何使用我的每一种口味,而不仅仅是主要和口味特定的 java/src 目录吗?我的目标是让目录被不止一种风格使用,但不是全部。

例如我有 3 种口味:A1、A2 和 B。

  • 所有偏好都使用 main/src(默认主 src 目录)
  • A1 使用 A1/src(默认风味 src 目录)
  • A2 使用 A2/src(默认风味 src 目录)
  • B 使用 B/src(默认风味 src 目录)
  • A1 和 A2 使用 A/src(“特殊”共享目录)

这可能吗?如果是这样,我应该在我的 build.gradle 文件中添加什么?

作为一个额外的问题,我可以选择 gradle 在我的不同目录中查找文件的顺序吗?

例如,如果我在 A/src 和 A1/src 中都声明了一个.png,我可以告诉 gradle 首先在 A/src 中查找此文件,并且只有在没有找到时才在 A1/src 中查找它?

【问题讨论】:

    标签: java android gradle src


    【解决方案1】:

    here所述

    如上所述,每个sourceSet 可以定义多个资源文件夹。

    您可以定义多个资源文件夹。例如这样的:

    android {
         ...
         sourceSets {
                main {
                    //....
                    res.srcDirs = ['/src/main/res']
    
                }
                flavorA1 {
                     res.srcDirs = ['/src/flavor1/res', '/src/commonA/res']
                }
                flavorA2 {
                     res.srcDirs = ['/src/flavor2/res', '/src/commonA/res']
                }     
                //.....other flavors   
         }
    }
    

    【讨论】:

      【解决方案2】:

      我发现设置 java 源文件需要稍微不同的格式

      sourceSets {
          favorA1 {
              java {
                  srcDirs('src/favorA1/java/src', 'src/commonA/java/src')
              }
          }
          favorA2 {
              java {
                  srcDirs('src/favorA2/java/src', 'src/commonA/java/src')
              }
          }
      }
      

      Gradle Java
      Gradle Source Api

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-13
        • 2017-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-26
        • 2016-08-29
        • 1970-01-01
        相关资源
        最近更新 更多