在同一个项目中使用多个模块来维护Android Studio的两个版本

时间:2015-03-10 22:24:22

标签: android

我正在尝试在Android Studio中管理我的应用的免费和付费版本。是否可以在项目内部创建另一个模块,将所有代码从另一个模块复制到该模块中,然后进行付费版本所需的更改而无需创建新的单独项目?

1 个答案:

答案 0 :(得分:1)

你甚至不需要这样做。 Gradle支持名为build variants的概念:

  

构建系统使用产品风格来创建应用的不同产品版本。您应用的每个产品版本都可以具有不同的功能或设备要求。构建系统还使用构建类型将不同的构建和打包设置应用于每个产品版本。每种产品风味和构建类型组合形成构建变体。构建系统为您的应用的每个构建变体生成不同的APK。

这允许您在src/main文件夹中共享代码/资源,并在src/freesrc/paid文件夹中使用特定于代码的代码(假设您的产品口味被称为'免费'和'支付')。

虽然在大多数情况下,您可以获得更好的覆盖率,综合评分,更少的用户混淆(两个应用程序可供选择,如何从免费切换到付费等)以及在您的应用上销售用户的更多机会使用In-App Billing而不是创建单独的应用。