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

Developing two versions of the same app in Android Studio

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

我用两个不同的 android 工作室项目管理这两个版本,并且 两个不同的存储库。

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

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

在此先感谢您的帮助

Gradle 口味就是您要找的。有了它们你就可以把所有通用的代码和资源都放在一个地方,这样就不用复制了,不同的代码和资源在另一个地方。风格还提供了一种构建多个版本的应用程序的便捷方式。

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

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

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

请注意,flavor 会生成具有不同包名称的 APK,因此您无法进行会解锁功能和移除广告的应用内购买。