我有一个具有三种不同风格和两种构建类型的应用程序。主模块定义了一些通用接口(interface),每种形式都实现了它们。 flavor 与商店相对应:google,亚马逊和三星。该应用程序建议在应用程序内购买一些 ,这是每种口味所特有的

我实现了一些调试类,以简化google集成测试的风格。调试类实现IInAppBillingService和购买对话框的替代方法。现在的问题是某些调试类对风格具有依赖性。没有编译错误,我无法切换到其他版本。

我想保留这些测试类,因为它们在集成测试中使用。同样,它们应远离发行版本类型,以避免在发行版本中出现任何调试/测试代码。

我的问题是:如何定义与 flavor 有关的类,但在构建发行版本时未使用这些类?

最佳答案

您可能知道,您可以将特定于某种 flavor 的代码和 Assets 放在其自己的文件夹src下。例如,对于每种口味,您可以具有诸如googleamazonsamsung的文件夹。您还可以为每种构建类型专用的类和 Assets 创建debugrelease文件夹。如果您的代码仅用于开发,而不应用于最终发行版本,则此功能非常有用。

您可以更进一步,并为构建类型和 flavor 的任意组合创建文件夹,例如googleDebugamazonRelease

对于自动化测试,请为在开发计算机上本地运行的单元测试创​​建test文件夹,为在设备或仿真器上运行的已测试的测试创建androidTest文件夹。这些也可以与构建类型和风格结合使用,例如androidTestDebugandroidTestSamsungandroidTestSamsungDebug

所有测试类别都应归入

10-07 20:44