0

我们的应用程序有免费和付费版本。我们还制作品牌版本,这意味着应用程序在两个维度上有所不同。

四个版本可能是:

  • 应用程序,耐克版。自由的
  • APP,耐克版。有薪酬的
  • 该应用程序,阿迪达斯编辑。有薪酬的
  • 该应用程序,阿迪达斯编辑。自由的

我现在的解决方案是有两种构建类型,付费和免费:

  buildTypes {
        paid {
            packageNameSuffix ".paid"
        }

        free {
            packageNameSuffix ".free"
        }
    }

还有两种构建风格:

productFlavors{
    nike{
        packageName "com.example.theapp.nike"
    }

    adidas{
        packageName "com.example.theapp.adidas"
    }

}

由于遗留原因,我们的一个应用程序变体没有免费后缀,但仍将作为免费版本处理。我想要的是在 builtTypes-block 中设置 packageNameSuffix 时能够掌握构建风格。在伪代码中,我想要这样的东西:

 buildTypes {
        free {
            if( buildFlavor != "nike"){
                packageNameSuffix ".free"
            }
        }
    }

可能吗?

4

1 回答 1

2

是的。有可能的。您可以通过创建 4 个项目来使用它,每个项目都有一个带有单个类文件的包,表明它是 App1/App2 的免费/付费版本,以及一个包含所有 4 个应用程序内容的库项目。

于 2013-06-26T09:55:37.300 回答