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


Atlas是古希臘神話中的天神,是波士頓動力公司的機器人,借助搜索引擎,得以發現這個名詞背后許許多多的含義。在手機淘寶,Atlas是一個扎根於Android客戶端的一個組件化容器框架,相比神話中用手和頭支撐起蒼天的泰坦神族,Atlas在手淘默默無聞地承載着手淘上豐富業務的運行,伴隨着數不清的功能在...

 

Android方向的大牛們都已經深入了解了插件化所帶來的巨大的便利,一直也沒時間去搞一套詳細的記憶,在這里,僅以源碼分析的形式進行插件化框架的鞏固,文集中會具體分析源碼,框架結構,運行原理等方面,除了加深記憶,也讓我們一起進步。

 

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

 

Atlas是什么?

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

在工程期,實現工程獨立開發,調試功能,工程模塊的獨立。

在運行期間,實現完整的組件生命周期映射,類隔離等機制。

在運維期間,提供快速增量的更新修復功能,快速升級。

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

 

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

第一層稱之為Hack層,包括OS Hack toolkit & verifier,這里對系統能力做一些擴展,然后做一些安全校驗。

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

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

第四層是業務層了,這里向業務方暴露了一些接口,如框架生命周期、配置文件、工具庫等等。

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

 

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

 

關於開源Android容器化框架Atlas的詳細內容:

 

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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM