安卓原生运行Win11 再跑 Apk,搁着套娃呢!
在 Android 手機(jī)上裝 Windows 11,再運(yùn)行 Android Apk。PC & 手機(jī),都在向著相同的方向發(fā)展。
大家好,這里是承香墨影!
前段時(shí)間,微軟帶來了全新的 Windows 11 更新。其中最?yuàn)Z人眼球的,大概就是宣布將原生支持 Android App,無(wú)需在通過虛擬機(jī)繞一道,是原生支持。這無(wú)疑是一個(gè)新的開始,這將極大的改變 PC 的使用方式。
而我最近逛 B 站的時(shí)候,偶然發(fā)現(xiàn) B 站有個(gè) UP 主「極客灣Geekerwan」,嘗試在安卓手機(jī)上,原生運(yùn)行 Windows 11。不是類似 Limbo 模擬器,也不是遠(yuǎn)程鏡像,更不是虛擬機(jī),而是真實(shí)的原生運(yùn)行 Windows 11。
上圖是運(yùn)行效果,驍龍 845 處理器,八個(gè)核心全部可以識(shí)別,你甚至可以用它玩兒 PC 上的大型游戲。
以后再有小學(xué)生問:"手機(jī)能玩嗎?",不能噴了。
實(shí)現(xiàn)原理
ARM 的 Windows
在 Android 手機(jī)上,安裝 Windows 聽上去不可思議。但其實(shí)也能理解,畢竟自從搭載高通處理器的 Surface Pro X 發(fā)布之后,Windows 就原生支持 ARM 架構(gòu),甚至很多高通芯片的驅(qū)動(dòng),都能直接從 Windows On ARM 筆記本上提取出來。
那么對(duì)于 ARM 架構(gòu)的手機(jī)而言,系統(tǒng)和驅(qū)動(dòng)都有了,想要運(yùn)行 Windows 系統(tǒng)好像也不那么難了。
但其實(shí)還是有一些難點(diǎn)的,畢竟系統(tǒng)和驅(qū)動(dòng),都不是針對(duì)手機(jī)而設(shè)計(jì)的。
啟動(dòng)系統(tǒng) UEFI
我們回顧一下 Android 系統(tǒng)的啟動(dòng)過程,在手機(jī)啟動(dòng)時(shí),首先會(huì)啟動(dòng) Bootloader 程序。
Bootloader 會(huì)檢查手機(jī)硬件,并加載運(yùn)行參數(shù),最后運(yùn)行 Kernel 內(nèi)核。然后啟動(dòng) init 進(jìn)程,它是 Android 系統(tǒng)的第一個(gè)進(jìn)程,之后啟動(dòng) Zygote,然后通過 Zygote fork 出 Android 的各個(gè)系統(tǒng)進(jìn)程。
在 Windows 中,也有類似職責(zé)的程序,叫做 UEFI,它用來定義操作系統(tǒng)與系統(tǒng)固件之間的聯(lián)系。
簡(jiǎn)單來說,無(wú)論是 Bootloader 或是 UEFI,都是系統(tǒng)與硬件之間的對(duì)接層,沒有它們,軟件系統(tǒng)就無(wú)法操作對(duì)應(yīng)的硬件。
前面提到,系統(tǒng)和驅(qū)動(dòng)我們都有了,現(xiàn)在只需要編譯一個(gè)為手機(jī)硬件而設(shè)計(jì)的 UEFI,然后在 Bootloader 階段加載它,就可以在 Android 手機(jī)上啟動(dòng) Windows 11 了。
看似簡(jiǎn)單,其實(shí)還有一些小問題需要解決。正常情況下,Android 設(shè)備是無(wú)法直接加載 UEFI 的,手機(jī)的硬件廠商,在固件上都會(huì)做一道簽名驗(yàn)證。這里就需要用到一個(gè)開源項(xiàng)目 Renegade Project。
Renegade Project 這個(gè)項(xiàng)目,一方面借助 edk2 給手機(jī)編譯 UEFI,使得可以在移動(dòng)設(shè)備上安裝 Windows 和 Linux 系統(tǒng),另一方面,也做好了驅(qū)動(dòng)的適配工作(包括修復(fù) ACPI),讓 Windows 系統(tǒng),可以識(shí)別出手機(jī)設(shè)備上的這些硬件。
參考:https://forum.renegade-project.org/t/845-windows/36
有興趣研究細(xì)節(jié)的可以參考上面這個(gè)文檔。
不過這個(gè)項(xiàng)目并非所有手機(jī)上都可以完美運(yùn)行,之前提到了驍龍 845,但也并非所有 845 的設(shè)備都可以?,F(xiàn)階段支持的比較好的,就只有一加 6 和 6T 了,只能說一加 V5,其他設(shè)備都或多或少會(huì)有一些小問題。
準(zhǔn)備好系統(tǒng)、驅(qū)動(dòng)、UEFI 后,我們就可以通過鍵鼠、U盤等工具,在 Android 手機(jī)上運(yùn)行 Windows 11 系統(tǒng)了。流程較為繁瑣,這里就不描述了,有興趣的可以直接在文末看 UP 主的視頻。
運(yùn)行效果
Android 手機(jī) + Windows 11 這種搭配,要看性能當(dāng)然要跑個(gè)分看看。
這里使用 CINEBENCH R23 進(jìn)行跑分,足足跑了 50 分鐘才得到結(jié)果。
單核分?jǐn)?shù) 254,多核 1011,這驍龍 845 的八顆核心,跑出來的還沒有 16 年出的 i7 7700k 的單核高呢。這 1011 的多核分?jǐn)?shù),只能接近 13 年的 i5 4200U ?的水平。
單核最多只有酷睿2 U2160 的水平,僅比 Atom 略強(qiáng)一點(diǎn),不過已經(jīng)比 PS4 的美洲豹性能強(qiáng)了。
這個(gè)結(jié)果也能理解,畢竟 845 本來 A75 的芯片就沒多少性能,這里還要經(jīng)過一層轉(zhuǎn)譯去模擬 x86,性能自然是有一些損耗的。
從測(cè)試游戲的數(shù)據(jù)來看,孤島危機(jī) 3 的圖形可以正常渲染,只是 FPS 只能到個(gè)位數(shù)的水平,只能說能看,玩起來還是費(fèi)勁的。在降低分辨率后,可以達(dá)到 30 幀的 FPS。
不過在降低分辨率之后,玩兒古墓麗影之類的游戲,可以做到 50 FPS,玩起來還是沒什么問題的。
小結(jié)時(shí)刻
這里雖然已經(jīng)做到 Android 手機(jī)上運(yùn)行 Windows 11 系統(tǒng),但還是有不少問題,例如運(yùn)行 64 位程序時(shí),無(wú)法調(diào)用 GPU,只能吃 CPU 性能(Windows 會(huì)用 CPU 模擬 GPU)。
并且也沒法真的在 Windows 11 上安裝一個(gè) Apk 看看,畢竟現(xiàn)在的版本還不支持,據(jù)微軟消息,大約到等到 2022 年才能真的在 Windows 11 上,原生安裝運(yùn)行 Apk 了。
不過可以再裝個(gè) Android 虛擬機(jī),再通過虛擬機(jī)運(yùn)行 Apk,套娃的快樂。
今天的內(nèi)容就到這里,推薦看看原視頻。大家看看熱鬧即可,畢竟我們多數(shù)情況下也不像科技區(qū) UP 主那么能倒騰。
-- End --
references:
https://forum.renegade-project.org/t/845-windows/36
https://github.com/edk2-porting
本文對(duì)你有幫助嗎?留言、轉(zhuǎn)發(fā)、點(diǎn)好看是最大的支持,謝謝!
推薦閱讀:
把RecyclerView擼出花兒來,自定義無(wú)限循環(huán)的LayoutManager
面試問Handler內(nèi)存泄露的場(chǎng)景,別就只知道靜態(tài)內(nèi)部類&弱引用!
try-catch OOM,可行嗎?
總結(jié)
以上是生活随笔為你收集整理的安卓原生运行Win11 再跑 Apk,搁着套娃呢!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链中的分叉
- 下一篇: 【U8】用友U8软件中出纳管理模块日记账