這幾年,國產操作系統替代正在有條不紊地進行中。但生態是繞不過去的一道坎,指望應用廠商一下子完成國產系統適配也不現實。之前介紹過使用 Wine 運行 Windows 應用的方案,減少了國產系統應用偏少的難題。比如我在辦公室使用最多的企業微信,一直沒有開發 Linux 版本,就是通過 Wine 運行的。
除了 Windows 應用,還有新的目標,那就是手機應用。這些年移動互聯網蓬勃發展,手機 app 從數量上已經遠遠超過桌面應用,如果能在桌面系統運行手機應用,那也能一定程度補齊國產操作系統的短板。手機應用主要是安卓和 iOS 兩家。iOS 系統由于其封閉性,不太容易兼容,所以現在的方案基本上都是針對 Android 應用。
總體說來,在 Linux 系統上運行 Android 應用,有如下方案。
1. QEMU 模擬器方案
QEMU 基于虛擬化技術創建完整的 Android 虛擬機。通過模擬硬件設備(CPU、內存、屏幕等)運行完整的 Android 系統鏡像,支持多版本 Android 和自定義設備配置。
這種方案支持完整的 Android 系統功能,適用于開發測試復雜的應用(如依賴特定傳感器或 GPU 加速的應用)。比如谷歌官方的安卓模擬器就是在 QEMU 的基礎上定制的。
但這種方案的缺點也是非常明顯,模擬器啟動非常緩慢,使用 Android 模擬器做過開發的同學應該深有體會,而且模擬器還需要模擬 ARM 指令,效率低下,所以在模擬器里運行安卓程序也是非常緩慢。
這種方法用來做開發調試還可接受,但如果只是為了運行安卓應用,那是萬萬不可能的。
2. anbox 容器化方案
Anbox 是“Android in a Box”的簡稱,是一種基于容器化技術的開源方案,目標是讓 Android 應用程序直接在 Linux 系統上運行。
通過 Linux 容器(LXC)技術實現 Android 運行時環境的隔離,復用 Linux 內核直接執行應用,無需虛擬化硬件。硬件訪問請求統一通過宿主機的?anbox?守護進程轉發。
Anbox? 借了 QEMU 模擬器的 OpenGL ES 渲染方案,通過虛擬化管道(fast pipes)實現圖形加速,支持 Android 應用的窗口化顯示,與? Linux 桌面環境無縫集成。
聽起來很美好,但該項目已于2023年停止更新,究其原因,可能是兼容性差,依賴非標準內核模塊?binder?(進程間通信)和?ashmem?(共享內存),顯卡兼容性也不好,很多應用只是那能用,但跑起來存在諸多問題。
在 anbox 的主頁上,建議用戶轉向 waydroid 項目和 anbox cloud(由 Ubuntu 支持)。
3. waydroid 容器化方案
Waydroid 和 anbox 類似,利用 Linux 容器(LXC) 技術,通過命名空間(如用戶、進程、網絡、掛載等)隔離 Android 運行時環境。它直接復用宿主機的 Linux 內核,無需虛擬化硬件,顯著降低資源開銷。Android 系統的文件系統(如 ?/system?、?/data?)以獨立掛載的方式與宿主機隔離,確保應用數據互不干擾。
Waydroid 支持自由調整窗口大小,模擬手機或平板界面。而且?Android 應用可自動添加到 Linux 應用菜單,支持拖拽文件互通。
正如名字所示,該方案要求 Linux 系統需支持 Wayland 顯示協議 和 systemd。內核需啟用 ?binder?、?ashmem? 等模塊,建議使用 Linux 5.4+ 版本。
Waydroid 支持的 Android 系統版本為 11 和12,比 anbox (只支持 Android 7) 更加友好。
4. 麒麟 KMRE
麒麟軟件開源的 KMRE(Kylin Mobile Runtime Environment,麒麟移動運行環境) 是國內首個基于容器化技術的商用移固融合方案,旨在通過兼容 Android 應用生態,解決 Linux 操作系統應用短缺的難題。
KMRE 和 anbox、Waydroid 類似,基于 Linux 容器(LXC) 技術實現 Android 與 Linux 的深度集成。通過適配 OpenGL|ES 和 Wayland 協議,支持國際主流顯卡(如 NVIDIA、AMD)及國產顯卡(如摩爾線程)的圖形加速。
此外,KMRE 改進了?窗口管理,Android 應用窗口與 Linux 桌面窗口統一調度,支持多窗口自由縮放、分屏顯示。
而且還實現了數據互通,剪貼板、文件系統、輸入法、通知中心等與 Linux 桌面共享。
KMRE 在國產化支持方面做得不錯,覆蓋 x86 和 ARM 架構,適配飛騰、兆芯、海光、Intel、AMD 等 CPU,以及國產顯卡。
5. 小結
上面的各種方案或多或少都有一些缺點,只是為了生態需求采用的方案,我們當然希望軟件開發商都推出 Linux 適配版本,徹底拋棄 wine 和 Android 模擬器才是最終方案。
話說全村的希望鴻蒙 PC 會如何應對這一難題,讓我們拭目以待。