在Android 13首次引入的Android虛擬化框架(Android Virtualization Framework,AVF),現在將在更多的Android 14設備上提供。在Android 14中,Google還添加了一套新的工具包,讓開發者能夠更好地使用AVF及其組件。
Google由於要強化Android設備的安全性,因此在Android 13加入了AVF。AVF是一個在Android設備上執行虛擬機的技術,該架構的主要作用是隔離應用程序與系統之間的數據和操作,AVF讓虛擬機成為Android作業系統的核心組件,類似Android利用Linux程序的方式。
AVF提供單向隔離與雙向隔離兩種隔離等級,單向隔離讓Android系統可以控制和檢查虛擬機中的內容,最常用於沙盒(Sandboxing)與分離(Separation)技術,使多個作業系統能夠在單一設備上運行,並由Android控制和監視其他所有作業系統主機。而雙向隔離則是指Android和虛擬機(Isolated VM)彼此完全隔離,隔離的虛擬機將可用於處理或是存儲敏感數據,由於Android和虛擬機都無法相互訪問,因此需要通過特定信道才能溝通。
在部分情況,AVF成了可替代Android Trustzone的機制,TrustZone是一種在Arm架構處理器上實現的安全技術,提供了安全的執行環境與硬體層級的隔離保護。而Google表示,運用AVF的雙向隔離,開發者可以在Android中執行需要隔離,但是不需要提升特權的用例。也就是說,AVF提供的隔離虛擬機可以在不增加系統特權的情況下,對應用程序數據進行安全隔離,這樣的隔離機制特別適用於保護敏感數據和執行重要操作。
AVF還具有可移植性的優勢,Google提到,虛擬機和其中執行的應用程序,比可信任小程序(Trusted Applet)還更具可移植性,官方舉例,具有Linux應用程序負載的Linux虛擬機,能夠在所有支持AVF設備上的執行。這代表開發者只需要構建一次應用程序,就能夠部署到其他地方,這與移植到Trustzone作業系統相比,藉由虛擬機的方式,還可以簡單地移植現有Linux應用程序。
在性能方面,AVF設計上講究高效且靈活,虛擬機可以非常迷你,小至單獨的C程序,也可以大到作業系統規模,虛擬機可以根據需求設計成持續或是家歇運行,也能根據整體系統健康狀態和資源分配,並遵守Android調度提示和低內存警告,與作業系統良好地協作。
Google在Android 14擴大AVF的可用性,讓AVF能夠在更多的設備上可用,同時對AVF開了Android系統API,允許特權應用程序使用虛擬機,執行需要隔離的重要工作負載。開發者也可以通過虛擬機管理程序DevEx工具包,關注監控虛擬機的運行,更方便地進行調試。
Google的合作夥伴也可以使用虛擬機管理程序供應商模塊,自訂Google虛擬機管理程序(pKVM)滿足特定需求。AVF在Android 14的運行性能也更好,基於microdroid的虛擬機啟動速度是Android 13的2倍,內存使用只有一半,能夠更好地支持特權應用程序和平台開發。