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

通过TeamCity持续集成Android。首选工具?,android,testing,build,automation,continuous-integration,Android,Testing,Build,Automation,Continuous Integration,我们的团队对Android和Java开发都是新手(最初,我们来自C++),因此我们对Java构建工具的了解非常肤浅 很少有构建工具可以用于构建自动化,我发现最有趣的是ant和maven。尽管有很多关于构建自动化的文章,但我没有找到任何关于android应用程序集成过程自动化的全面教程 如果你能说明你更喜欢的Android构建工具,并解释或提供任何链接来解释Android应用程序的持续集成过程(不仅包括构建应用程序包,还包括在模拟器下运行测试),我将不胜感激 非常感谢您的时间和帮助 备注:我们使用

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

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

如果你能说明你更喜欢的Android构建工具,并解释或提供任何链接来解释Android应用程序的持续集成过程(不仅包括构建应用程序包,还包括在模拟器下运行测试),我将不胜感激

非常感谢您的时间和帮助

备注:我们使用TeamCity作为持续集成服务器。

Ant()几乎是构建java项目的事实标准。它具有一种非常易于学习的脚本语言,甚至可以用于将应用程序部署到多个目标

对于自动化测试,大多数java开发人员使用jUnit()。虽然不如RubyonRails测试框架那么无缝,但jUnit测试确实允许测试驱动的开发

Maven()更像是一个元程序,它可以使用ant脚本并运行jUnit测试。诚然,ant也可以用来运行jUnit测试,但是Maven很好地将所有这些整合在一起,并提供额外的功能(例如:自动查找外部依赖项并下载它们的能力)

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


祝你好运

我们正在使用以下工具为Android构建持续集成平台:

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

TeamCity还将运行Maven项目-配置TeamCity代理以运行特定的Maven目标相当简单,例如,
mvn集成测试
-该代理可以在装有Android仿真器或真正的Android设备的PC上运行


过去,我让一整家TeamCity银行的代理商针对不同的硬件进行测试。例如,如果您将5台Android设备插入到代理中,您可以配置TeamCity构建管道,以便在所有5台设备上运行集成测试(通过Maven轻松控制),并且仅在所有5台设备上通过时声明通过。

谢谢您的回答。是的,Maven with Maven android插件已经成功地解决了这个问题。此外,TeamCity与it无缝集成。不过,我想知道你是否可以告诉我,有没有办法提取android instrumentation测试的任何日志(在emulator下运行)?android日志是使用“adb logcat”命令访问的-有各种选项可以传递给它(请参阅)。谢谢你,Matt。但是,logcat日志仍然包含很多不相关的信息,而且teamcity解析器不太可能解析这些信息:(因此,我想知道是否有一种方法可以生成Surefire或jUnit日志。感谢您的反馈。我已经解决了上述问题:使用maven控制构建和测试过程,使用TeamCity进行持续集成。