3

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

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

我只是想知道如何更好地管理同一应用程序的这两个版本的开发。我在 gradle 中读过一些关于风味的东西,但我真的不知道它们是否对我有用。我考虑过的另一件事是,也许我可以只拥有一个带有分支的存储库,在该分支中,对于那些不一样的功能,我只有不同的文件,而始终保持公共文件更新。

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

在此先感谢您的帮助

4

1 回答 1

5

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

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

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

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

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

于 2015-02-04T21:19:40.297 回答