Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> 實現Android CI

實現Android CI

編輯:Android開發教程

CI在web-based application上已經有了非常成熟的實現,由此也積累了大量的優秀實踐。但這些實踐在 Android平台中是否適用? 已知的CI工具是否能夠很好的支持Android? Android CI是否也能即時的反饋 Android Application的健康狀況? 這篇文章中將通過實踐,向大家展示Android CI可用的實現方法,是時候 為我們的Android App搭建CI了。

一、Android CI帶來了什麼?

1) App質量的提升

事 實上CI並不能直接提高App的質量,但是CI提供了對App的監測和反饋,通過持續的檢測和反饋,可以完成對 App的持續改進。

在CI的Compilation階段,若出現編譯失敗頻率較高,一是因為代碼未按照原子提交 的原則進行,二是本地開發環境不干淨,存在與CI環境不一致的地方,導致每次提交時不能提交所有文件,總 是需要手動挑選提交文件。

在CI的Testing階段,若出現失敗,很有可能說明此次提交已經破壞了與之 相關聯的功能或者模塊。App通過Testing,就是App可用性的一種反饋。

CI的Inspection階段會對代碼 做多方面的考察,如Checkstyle,單元測試覆蓋率,代碼靜態bug分析等,這些都是對代碼質量的檢測,通過 這些改善檢測結果,代碼質量也就會隨之得到提高。

CI將各環節的結果反饋給整個團隊,團隊為改善 這些結果付出努力後,App的質量自然也就得到了提升。這也就是為什麼反饋環節在CI是如此的重要,以至於 失去它,CI無法發揮任何作用。

2)風險降低

CI將項目當前 的健康狀況即時的通報給整個團隊,使得項目狀況變得十分透明。團隊成員在獲得CI的反饋後,會關心項目的 健康狀況,逐步的團隊所有人都習慣為App質量承擔起自己的責任。

Bug的出現總是不可避免的,那就 希望這些bug盡早的出現。持續的進行Testing可以讓bug盡可能早的被發現。同時很快就能定位bug引入時間, 並解決它。在發布前夕,發現App竟然存在部署問題,這一定會讓大家變得緊張起來。持續的進行Deploy,可 以讓這些問題盡早的暴露出來並解決。

3)重復步驟減少

為了得到一個可發布的Android App, 需要經歷編譯,測試,驗證,部署等眾多步驟。為了節約出包的時間,減少對資源的消耗,保證步驟都被正確 執行。CI可以幫組構建一個可以重復執行的出包流程,並通過不斷的優化,縮短時間。這樣一個確定的出包步 驟能夠讓開發人員在本地環境快速的完成部署。

4)對產品的信心增強

項目在一個透明的環境 中運行著,團隊成員都關注這App質量,努力改善項目健康狀況。這樣一個齊心協力的團隊狀態,相信整個團 隊對於項目的信心也會隨之增加。

二、Android CI面臨的困難

Android環境存在不穩定。 Android的模擬器在虛擬機中存在不能穩定運行的狀況。

自動化框架不夠成熟。尤其是自動化測試。

無法完成自動化部署。

Android設備中有些性能較低。需要在這些設備上運行Function Test時 資源緊缺就更加明顯。

Android正在快速發展,帶來了多個差異較大版本。那CI就應該對這些版本都能 夠兼容。

三、一步步實現Android CI

Android上的CI構建鏈與其它平台一致,依然包含 Compilation, Testing, Inspection, Deploying階段,每一個階段的Feedback的都保持對整個團隊透明。

CI中各個步驟執行先後順序的安排,應該是執行時間較短的優先執行。執行時間短的一般在提交代 碼前就可執行,錯誤率也比較低,就應該盡可能先執行。這樣失敗會來得更早一些,每一次CI運行失敗前驗證 完畢的東西更多。上圖中CI的工作流,正是在這樣的一個原則的基礎上形成的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved