通过TeamCity持续集成Android。首选工具?

时间:2011-04-22 11:23:01

标签: android testing build automation continuous-integration

我们的团队是Android和Java开发的新手(原来我们来自C ++),因此我们对java构建工具的了解非常浅。

很少有构建工具可用于构建自动化,我发现最有趣的是ant和maven。虽然有很多关于构建自动化的文章,但我没有找到任何有关Android应用程序自动化集成过程的全面教程。

如果你能说出你最喜欢的构建工具Android 解释或给出任何链接来解释Android应用程序的持续集成过程(不仅包括构建应用程序包,而且在模拟器下运行测试。)

非常感谢您的时间和帮助。

P.S。:我们使用Team City作为持续集成服务器。

2 个答案:

答案 0 :(得分:8)

我们正在使用以下内容构建Android的持续集成平台:

Maven - 用于管理构建/单元测试/集成测试/部署周期 哈德森 - 持续整合

Team City还将运行Maven项目 - 配置TeamCity代理以运行特定的Maven目标非常简单,例如mvn integration-test - 代理可以在装有Android模拟器或插入真实Android设备的PC上运行。

过去,我有一大批TeamCity代理针对不同的硬件进行测试。例如,如果您将5个Android设备插入代理,则可以配置TeamCity构建管道以在所有5个设备上运行集成测试(通过Maven轻松控制),并且只有在传递所有5个设备时才声明PASS。

答案 1 :(得分:2)

Ant(http://ant.apache.org/)几乎是构建java项目的事实标准。它具有易于学习的脚本语言,甚至可用于将您的应用程序部署到多个目标。

对于自动化测试,大多数Java开发人员使用jUnit(http://www.junit.org/)。虽然不如Ruby on Rails测试框架那么无缝,但jUnit测试确实允许测试驱动的开发。

Maven(http://maven.apache.org/what-is-maven.html)更像是一个可以使用ant脚本并运行jUnit测试的元程序。确实,ant也可用于运行jUnit测试,但是Maven可以很好地将所有这些组合在一起并提供额外的功能(例如:自动查找外部依赖项并下载它们的能力)。

虽然我不熟悉TeamCity,但如果它没有办法与ant / maven / junit集成,我会感到惊讶。

祝你好运!