每個 Android 玩家都不可錯過的神器(一):Magisk 初識與安裝
Come together, not the same。
選擇 Android 的同時,我們也選擇一種「可能性」。
今天厭倦了死板的預設字型我們可以更換,明天想在 MIUI 上試試顏值更高並且沒有廣告的索尼天氣,我們也可以想辦法突破 OEM 定製應用的機型限制……諸如
Xposed
這類不斷湧現的「神器」在自定義這件事情上為 Android 插上了騰飛的翅膀,也讓「千機千面」成為了可能。
只是美麗向來也伴隨著風險:未獲得 Google「認證」的裝置無法從 Play 應用商店下載安裝 Netflix,Google Pay、Pokémon Go 等應用不能在已 root 的裝置上正常執行,改動過系統檔案的 ROM 無法透過 OEM 渠道進行正常的 OTA 更新升級……
對 Android 生態而言,自定義和穩定性長久以來似乎都是「魚與熊掌」——直到 Magisk 的橫空出世。
Magisk 是如何工作的?
在一些使用者眼裡,Magisk 與另一款名為 Xposed 的神器有著高度的相似性,部分群體當中甚至還存在著「Magisk 框架」這樣的說法。
的確,二者的工作機制都是「攔截」。Xposed 透過劫持 Android 系統的 zygote 程序來載入自定義功能,這就像是半路截殺,在應用執行之前就已經將我們需要的自定義內容強加在了系統程序當中。
Magisk 則另闢蹊徑,透過掛載一個與系統檔案相隔離的檔案系統來載入自定義內容,為系統分割槽打開了一個通往平行世界的入口,所有改動在那個世界(Magisk 分割槽)裡發生,在必要的時候卻又可以被認為是(從系統分割槽的角度而言)沒有發生過。
Magisk 的實現方式就像是一種魔法,當被掛載的 Magisk 分割槽被隱藏甚至被取消掛載時,原有系統分割槽的完整性絲毫未損,玩需要 root 驗證的遊戲、執行對裝置認證狀態有要求的應用甚至進行需要驗證系統完整性的 OTA 更新
都沒有任何問題
。
因此嚴格來說 Magisk 可以被看作是一種檔案系統,這種檔案系統透過巧妙的實現方式避開了對系統檔案的直接修改,從穩定性上來看要優於以往任何一種系統框架,這也是當前它在玩機社群廣受認可和好評的原因所在。
它的魔力不止於 root
很多人對 Magisk 的初步認識可能是 root ——在
SuperSU
銷聲匿跡之後,它自然而然就成為了當前 Android 社群用來獲取 root 許可權的主流方式。
不過 Magisk 特殊的運作機制還賦予了它相較於 Android 平臺其他定製工具而言獨一無二的特質——
systemless
。這種 systemless 特質讓 Magisk 擁有了獲取 root 許可權之外的諸多優勢:
一方面,得益於獨特的掛載機制,使用 Magisk 時我們可以有針對性地隱藏 root,甚至暫時隱藏 Magisk 本身
。
如此一來,不僅「root 模式下使用特定應用」成為了可能,就連無縫 OTA 更新這種「魔改黨」們想都不敢想的事也變得不再遙遠。在 Magisk Manager 應用的設定中,我們甚至還可以用隨機包名對 Magisk 進行重新安裝,讓它從其他應用的眼皮底下徹底消失——多麼具有魔法特質的高明手段!
另一方面,掛載系統的存在,也讓 Magisk 擁有了多樣的模組化生態系統。
既然用了「開外掛」的實現方式,那不妨就多掛載一些額外的東西,字型、音效、驅動……甚至 Xposed 本身。Magisk 提供了一個獨立於系統分割槽以外的、可以隨時隱形的「沙盒」,那自然不能將其才華禁錮於 root 這一件事上。在 Magisk 的模組倉庫裡,我們可以找到各式各樣的模組(modules)來滿足自己的定製化需求,藉助這些模組,我們在 root 之後能做的事情其實也還有很多。
在這裡的討論語境下,Magisk 如何給人們留下「框架」這一認知誤區的原因就浮出水面了。
只是功能方面好不遜色的 Magisk,穩定性和上手門檻對大部分使用者來說都更加友好
。
如何安裝 Magisk
作為一套複雜的檔案系統,Magisk 的安裝步驟卻是十分簡單。
在電腦上配置好
adb 環境
並解開 Bootloader 鎖後,如果你的裝置有來自
TWRP
的官方支援,只需在開啟 USB 除錯後將手機與電腦相連,然後開啟電腦端的命令列視窗:
執行
adb reboot bootloader
進入 Bootloader 介面
執行
fastboot boot TWRP。img
進入臨時 TWRP
在 TWRP 中刷入你下載的 Magisk 安裝包
沒有官方 TWRP 支援的裝置安裝 Magisk 的步驟要稍微複雜一些:
從你的刷機包中提取當前韌體的
boot.img
檔案,將它傳入到安裝了 Magisk Manager 的手機中
進入 Magisk Manager —— 安裝(install)—— install —— 修補 boot 映象檔案
然後選擇傳入的 boot。img 檔案進行生成,並將生成後的 Patchedboot。img (姑且這麼命名) 傳輸到電腦上。
隨後我們使用 Magisk 應用對 boot。img 進行重新打包:
開啟命令列視窗
執行
adb reboot bootloader
進入 Bootloader 介面
執行
fastboot boot Patchedboot。img
來載入生成後的 boot 分割槽檔案獲取
臨時 root
此時進入系統,你會發現你已經成功安裝了 Magisk,但這還不夠,我們還得進入 Magisk Manager,選擇安裝(install)——install——Direct Install(直接安裝)才能將臨時 root 轉換為永久 root。
安裝完 Magisk 後,我們就可以透過 TWRP 或者 Magisk Manager 刷入獲取到的模組了。模組的獲取方式可以是 Magisk Manager 自帶的模組倉庫,也可以是其他第三方論壇(如酷安、XDA 等)。
解除安裝 Magisk 最為徹底的方式就是在 Magisk Manager 中點選「解除安裝」、「完全解除安裝」,應用會自動下載刷完 uninstall。zip 解除安裝包、自動解除安裝它自己、自動重啟。如果你無法進入系統,在 TWRP 中手動刷入 uninstall。zip 解除安裝包即可。
至於哪些模組值得刷,就是完全看個人需求了。我們會在後續文章為大家推薦一些基礎的必備模組,也歡迎 Magisk 的老玩家們向我們投稿分享。
本文由 @
Clyde
和 @
路中南
聯合撰寫。