在Android Studio中开发同一个应用程序的两个版本

时间:2015-02-04 21:04:24

标签: android git android-studio multiple-versions

我目前正在开发一款实际可在Google Play中使用的应用,它有两个不同的版本。其中一个具有完整的功能,并且在没有任何广告的情况下运行。另一个则无法访问每个功能并显示广告。

我正在使用两个不同的android studio项目管理这两个版本 两个不同的存储库。

我只想知道如何更好地管理同一个应用程序的这两个版本的开发。我已经阅读了关于gradle中的味道的一些内容,但我不知道它们在我的情况下是否有用。我想到的另一件事是,也许我可以只有一个带有分支的存储库,其中我只有不同的文件用于那些不同的功能,仍然是常见的文件更新。

那么,处理这种情况的更好方法是什么?欢迎任何其他想法。

提前感谢您的帮助

1 个答案:

答案 0 :(得分:3)

您正在寻找Gradle风味。使用它们,您可以在一个地方拥有所有公共代码和资源,因此无需复制它,以及在另一个地方有所不同的代码和资源。 Flavors还提供了一种方便的方法来构建应用程序的多个版本。

根据您的描述,您的应用程序版本似乎几乎相同,因此在您的情况下,您只需要一个布尔值来区分它们:

if (FULL_VERSION) {
    unlockFeature();
}
else {
    showAd();
}

您可以通过为每个flavor创建一个类来实现它,一个常量设置为true,另一个常量设置为false。更面向对象的设计将是一个类可以解锁一种风格的功能,而另一种风格则可以为另一种风格显示广告。

请注意,风味会生成具有不同包名称的APK,因此您无法通过应用内购买来解锁功能并删除广告。

相关问题