2011-04-22 66 views
17

我們的團隊對於Android和Java開發(原來,我們來自C++)都是新手,因此我們關於構建java工具的知識很淺。通過TeamCity持續集成Android。首選工具?

有幾個可用於構建自動化的構建工具,而我發現的最有趣的是ant和maven。雖然有很多關於構建自動化的文章,但我沒有找到有關自動化Android應用程序集成過程的全面教程。

我會很感激,如果你能說出你的最好的構建工具爲Android 解釋或給予解釋持續集成的Android應用程序(過程中的任何環節,其不僅涵蓋構建應用程序包,但在運行測試仿真器)。

非常感謝您的時間和協助。

P.S .:我們使用Team City作爲持續集成服務器。

回答

7

我們使用以下建設我們的持續集成平臺的Android:

的Maven - 用於管理構建/單元測試/集成測試/部署週期 哈德森 - 持續集成

團隊市也將運行Maven項目 - 配置TeamCity代理來運行特定的Maven目標非常簡單,例如mvn integration-test - 代理可以在PC上用Android模擬器或

插在過去的我已經有針對不同硬件的TeamCity代理測試的全行真正的Android設備上運行。例如,如果您將5個Android設備插入代理,則可以配置TeamCity構建管道以在ALL 5設備上運行集成測試(通過Maven輕鬆控制),並且只在全部傳遞5時聲明PASS。

+0

謝謝你的回答。是的,使用maven-android-plugin的Maven已經成功地解決了這個問題。另外,TeamCity可以無縫集成它。不過,我想知道你是否可以告訴我,是否有任何方法可以提取任何安裝了測試工具的日誌(在仿真器下運行)? – 2011-05-12 06:25:32

+0

可以使用「adb logcat」命令訪問Android日誌 - 可以傳遞給它的各種選項(請參閱http://developer.android.com/guide/developing/tools/adb.html#logcat)。 – 2011-05-12 14:31:58

+0

謝謝,馬特。但是,logcat日誌中包含了很多不相關的信息,而且它們不太可能被teamcity解析器解析:(因此我想知道是否有方法來生成,例如Surefire或jUnit日誌。 – 2011-05-16 05:48:45

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集成,我會感到驚訝。

祝你好運!

+0

Thank你的反饋意見。我已經解決了上述問題:使用maven控制構建和測試過程,並使用TeamCity進行持續集成。 – 2011-05-12 06:48:32

相關問題