日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LBE平行空间的技术实现

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LBE平行空间的技术实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者:方振宇
鏈接:https://www.zhihu.com/question/42998620/answer/95418981
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

利益相關:本人是LBE員工,Parallel Space平行空間的名字就是我起的:)


前面有同學對LBE平行空間的原理做了一些推測和分析,有些正確,有些不完整,我再做些補充


LBE平行空間和市面上的其他應用雙開app有本質區別,其他方案是通過改包名、改Framework等非常粗糙的方式達到目的,而LBE平行空間的底層是一個完整的虛擬化引擎:MultiDroid


更準確的說,MultiDroid并不是硬件虛擬化或OS虛擬化 (譬如VMware, Xen, KVM),它也不是應用層虛擬化(譬如XenApp, Wine),MultiDroid更類似容器(Container),譬如Docker


MultiDroid的關鍵技術有:


1. Framework層的虛擬實現


在Android環境中,每個應用在運行時都需要和Android framework打交道。Android系統的System-Server進程提供了大部分的系統API。 應用程序通過Binder IPC調用系統API。LBE之前在安全大師產品中,也就是通過對System-Server的hook來實現主動防御和權限管理,但MultiDroid在設計之初的一個最重要的目標就是不需要root權限,從而不能通過hook的方式來實現虛擬化。為此,我們需要自行實現一套完整的System-Server API,這就是MultiDroid的核心,工作量非常大,更麻煩的是,我們的設計目標是支持所有Android 4.0以上版本,而每個版本的Framework實現又千差萬別……


2. 文件系統虛擬化


程序在運行的時候,會加載文件系統上的程序指令和程序數據。要建立虛擬的應用程序運行環境,需要模擬一個獨立的文件系統,在這個獨立的文件系統中,再針對不同的虛擬應用的主目錄進行區分和權限控制

3. Android系統組件管理


一個Android應用基本上是由Android四大組件(Activity, Service, Broadcast Receiver,Content Provider)構成。在Android環境中,System-Server和應用通過進程間通信交互,Android系統負責了四大組件的管理,包括創建,激活,銷毀等。MultiDroid引擎實現了一套Android組件管理系統,用來模擬系統對Android組件的管理。每個運行在虛擬環境中的應用,會把自己的組件注冊給MultiDroid引擎,由MultiDroid引擎負責各個組件的生命周期維護


4. 應用進程管理


Android本身在應用和進程之間做了隔離,應用幾乎不需要感知進程的存在,只需要關注應用自身的四大組件。但是應用本身還是需要在Dalvik進程中運行。虛擬環境中的進程仍然是一個Dalvik進程, MultiDroid引擎負責了虛擬應用進程的創建,進程ID的分配,進程的銷毀等


MultiDroid的未來發展:


目前的MultiDroid引擎已經相當完善,可以很好的運行市面上的絕大部分App,而且在耗電和內存使用上都做了非常多的優化,但這只是起步,我們期望下一版的MultiDroid引擎將會從某種程度上改變Android本身的生態環境和使用體驗,譬如支持整個虛擬環境的快照和恢復,發燒友就不用為了嘗試各種新鮮玩法而反復刷機了,當然,還有虛擬環境內應用數據的云備份,類似iCloud,雖然有Android廠商也支持類似功能,但跨廠商的設備同步目前還沒有;再譬如代碼動態優化,雖然目前的MultiDroid引擎并沒有性能問題,但我們希望可以借鑒ART的做法,通過在虛擬環境中的代碼預優化和動態轉換,來提升應用加載速度;同時,我們已經找到了一個辦法把具有某些特征的dex字節碼片段在虛擬環境中轉為native指令來運行,性能的提升非常夸張??傊?#xff0c;MultiDroid打開了一個盒子,里面有無窮可能。

總結

以上是生活随笔為你收集整理的LBE平行空间的技术实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。