Android studio SourceSets错误:相同的文件/文件夹

时间:2014-03-24 16:47:25

标签: android android-studio android-productflavors source-sets

我在我的项目中构建了2种口味,这些口味有一些共同的代码。这曾经很好用,但在android studio和gradle的最新版本中,我收到了这个错误。

SourceSets 'seta' and 'main' use the same file/folder for 'java': .../src/main/java

这就是我在gradle.build中所拥有的

productFlavors {
    seta {
        packageName "com.test.seta"
        versionCode 4
        versionName "2.0"
    }

    setb {
        packageName "com.test.setb"
        versionCode 2
        versionName "1.6"
    }
}

sourceSets {
    seta {
        java.srcDirs = ['src/main/java', 'src/seta/java']
        res.srcDirs = ['src/main/res', 'src/seta/res']
        assets.srcDirs = ['src/main/assets', 'src/seta/assets']
    }

    setb {
        java.srcDirs = ['src/main/java', 'src/setb/java']
        res.srcDirs = ['src/main/res', 'src/setb/res']
        assets.srcDirs = ['src/main/assets', 'src/setb/assets']
    }

}

1 个答案:

答案 0 :(得分:2)

在单个flavor的sourceSet中,您不需要指定主要的sourceSet。您可以将常用代码放在 src / main 中,然后将其拾取而无需从其他版本中明确引用它。

我以前不确定它是如何运作的。

如果你删除它,你实际上根本不需要你的sourceSets块 - 默认行为是将公共代码放在 src / main 和flavor- src / flavor-name 中的特定代码,就像您已经设置的一样。