1. 程式人生 > >開源Android容器化框架Atlas開發者指南

開源Android容器化框架Atlas開發者指南

隨著手機淘寶業務的快速增長,協作研發團隊的不斷擴大,技術也面臨著更多挑戰:一方面程式碼量快速上升導致方法過多,限制打包的正常輸出;另一個方面各業務線的開發和整合都需要到一個 apk上,業務間相互耦合嚴重,整合開發工作效率低下,這個大背景下,急需要做一次從構建,整合,交付的技術改造, 於是Atlas作為手淘執行的容器誕生了,它靈活的解決了各個業務開發期間的相互獨立解耦,而且提供了各個模組線上獨立動態能力。

Atlas是什麼?

Atlas是一個Android客戶端容器框架,主要提供了元件化、動態性、解耦化的支援。支援在編碼期、Apk執行期以及後續運維修復期的各種問題。

  • 在工程期,實現工程獨立開發,除錯功能,工程模組的獨立。
  • 在執行期間,實現完整的元件生命週期對映,類隔離等機制。
  • 在運維期間,提供快速增量的更新修復功能,快速升級。

Atlas是工程期和執行期共同起作用的框架,它儘量將一些工作放在工程期,這樣保證執行期的簡單、穩定。

Atlas的整體設計,分為五層:

第一層稱之為Hack層,包括OS Hack toolkit & verifier,這裡對系統能力做一些擴充套件,然後做一些安全校驗。

第二層是Bundle Framework,就是的容器基礎框架,提供Bundle管理、載入、生命週期、安全等一些最基本的能力。

第三層是執行期管理層,包括清單,會把所有的Bundle和它們的能力列在一個清單上,在呼叫時方便查詢;另外是版本管理,會對所有Bundle的版本進行管理;再就是代理,這裡就是和業界一些外掛化框架機制類似的地方,會代理系統的執行環境,讓Bundle執行在的容器框架上;然後還有除錯和監控工具,是為了方便工程期開發除錯。

第四層是業務層了,這裡向業務方暴露了一些介面,如框架生命週期、配置檔案、工具庫等等。

最上面一層是應用接入層,就是的業務程式碼了。

所以Atlas作為一個框架提供了相對完整的能力,業務層的開發可以在框架生命週期的各個環節做一些自定義的動作,也可以自由的呼叫系統、框架,乃至其它元件釋放的能力。

Atlas是阿里移動基礎團隊的核心中介軟體之一,Atlas特別適用於大規模團隊的協同開發。通過提供元件化、動態性、解耦化的支援,Atlas能夠實現每個業務在開發階段獨立編譯、獨立除錯、獨立執行,最後再以一個元件的形式整合到客戶端中,每個業務之間並行開發互不影響。此外,Atlas還具備客戶端動態發版和快速修復的能力。

本課程主要講解Atlas框架的使用方法。

課程目標:

  •  掌握Atlas開源框架的使用

適合人群:

  • Android開發者

更多精品課程: