Android Gradle混合口味+;发布/调试

Android Gradle混合口味+;发布/调试,android,gradle,Android,Gradle,我想使用这样的东西,我知道这是不可能的,但我想知道是否有其他方法可以使用组合风格和构建类型 productFlavors{ demo{ release { buildConfigField "String", "URL", '"192.1.1.1"' } debug { buildConfigField "String", "URL", '"192.2.2.2"' }

我想使用这样的东西,我知道这是不可能的,但我想知道是否有其他方法可以使用组合风格和构建类型

productFlavors{
    demo{
        release {
            buildConfigField "String", "URL", '"192.1.1.1"'
        }
        debug {
            buildConfigField "String", "URL", '"192.2.2.2"'
        }
    }
    full{
        release {
            buildConfigField "String", "URL", '"192.2.2.2"'
        }
        debug {
            buildConfigField "String", "URL", '"192.3.3.3"'
        }
    }
}

您可以创建多种构建类型来满足您的需求,而不是产品风格。 例如,创建如下所示的构建类型

    release {
        buildConfigField "String", "URL", '"192.2.2.2"'
    }
    debug {
        buildConfigField "String", "URL", '"192.3.3.3"'
    }

    releasedemo {
        buildConfigField "String", "URL", '"192.1.1.1"'
    }
    debugdemo {
        buildConfigField "String", "URL", '"192.2.2.2"'
    }

您可以创建多种构建类型来满足您的需求,而不是产品风格。 例如,创建如下所示的构建类型

    release {
        buildConfigField "String", "URL", '"192.2.2.2"'
    }
    debug {
        buildConfigField "String", "URL", '"192.3.3.3"'
    }

    releasedemo {
        buildConfigField "String", "URL", '"192.1.1.1"'
    }
    debugdemo {
        buildConfigField "String", "URL", '"192.2.2.2"'
    }

但在android studio中,将生成一个releasedemoDebug和releasedemoRelease,这将是一个混乱。如果你在构建类型中这样做,那么只有四个版本。release、demo、releasedemo和debugdemo。但在android studio中,将生成一个ReleaseDemoBug和releasedemoRelease。如果在构建类型中执行此操作,则将只有四个版本。发布、演示、发布演示和调试演示。