1

我目前正在与 CircleCi 作斗争,因为我是新手,所以有很多问题。现在我的应用程序需要 20 分钟来构建,因为它可以构建productFlavour我们拥有的每一个。在我的 circle.yml 文件中,我有以下命令:

- ./gradlew --stacktrace connectedAndroidTest:
    timeout: 1200

完整的circle.yml文件启动模拟器并对我们的一个productFlavours名为 test.xml 的文件进行干净构建。productFlavour通过运行以下命令,我可以轻松地确保仅构建它:

 - ./gradlew clean assembleTestDebug -PdisablePreDex

这需要大约 1 分钟的时间来构建。我现在的问题是connectedAndroidTest命令,然后继续使用所有构建类型(发布和调试)构建我们所有的构建变体,然后针对它们运行我们的测试,这非常耗时。因此,为什么我们的构建时间需要 20 分钟。

有没有办法告诉connectedAndroidTestcircle.yml文件中的命令只运行TestDebug

我尝试将构建变体添加到末尾(connectedAndroidTestTestDebug),但这导致 CircleCi 出现以下异常:

'connectedAndroidTestTestDebug' not found in root project 'my_project'.

希望对此事提出任何建议,根据我的经验,CircleCi 的设置非常痛苦,我正在与他们的支持人员联系,但他们处于不同的时区,这并不理想,因此进展缓慢。我希望在 CircleCi 上建立了带有单元测试的 Android 项目的人已经想出了一种方法,只针对一个productFlavour/Build variant.

提前感谢您的任何建议!

4

1 回答 1

2

在 CircleCi 上运行带有构建变体的 connectedAndroidTest 对我有用。

例如我正在跑步

- /gradlew connectedStagingMockDebugAndroidTest

你确定你有正确的任务吗?检查使用

./gradlew tasks | grep connected
于 2015-10-28T15:57:29.237 回答