Gradle错误:ProductFlavor名称不能以“ test”开头

时间:2019-02-19 11:54:56

标签: android android-gradle

试图将我的productFlavor命名为“ test”,并收到错误消息:

 ERROR: ProductFlavor names cannot start with 'test'

从源代码中,我看到了简单的检查:

 private void addBuildType(BuildType buildType) {
    if (buildType.name.startsWith("test")) {
        throw new RuntimeException("BuildType names cannot start with 'test'")
    }...
}

似乎可以使用“ myTest”,“ aTest”等名称,但不能使用“ test1”,“ test2”等名称。 有任何可能的原因吗?谢谢。

1 个答案:

答案 0 :(得分:2)

正如您在此Google repository第93行中所看到的

private void addBuildType(BuildType buildType) {
        if (buildType.name.startsWith("test")) {
            throw new RuntimeException("BuildType names cannot start with 'test'")
        }
        if (productFlavors.containsKey(buildType.name)) {
            throw new RuntimeException("BuildType names cannot collide with ProductFlavor names")
        }
        def sourceSet = project.sourceSets.add(buildType.name)
        BuildTypeData buildTypeData = new BuildTypeData(buildType, sourceSet, project)
        project.tasks.assemble.dependsOn buildTypeData.assembleTask
        buildTypes[buildType.name] = buildTypeData
    }

因此,addBuildType方法有其自身的例外,即不使用test name。你不能用这个。以及他们为何做出此决定。除了Google,没人能回答。