Magisk from Stratch
Jacob HA (EMK2000)Magisk 極簡教學 (小白向)
文章版本:v5
最後更新:2019-02-19
註:本文以 Magisk v18.1 為準。
前言
由於筆者在這些時日不斷見到不同的人分不清楚 Magisk (俗稱「面具」) 、Magisk Manager、Magisk 模塊等等概念,故此寫這篇短文,給小白非常簡單介紹一下使用 Magisk 所需要的基本知識。本文以簡單為主,很多概念嚴格來說不太嚴謹,不過為了小白容易上手,也盡可能使事情簡單化。
話雖如此,本文假設讀者有一定的基礎知識,包括用電腦使用 adb / fastboot、使用第三方 recovery (例如 TWRP) 安裝 zip 等等。
(本文同時假設讀者有良好的網絡環境,可以上一些國外網站如 XDA、GitHub 等。)
另外,話說在前頭,使用 Magisk 意味著你將會 root 你的設備,root 之先需要解鎖 bootloader。所以,如果你的設備不能解鎖,或者你不想解鎖、不想 root,或者擔心 root 了不安全之類,請不要使用。
使用條件和目的
要安裝 Magisk,需要附合幾個條件:
一、設備可以解鎖 bootloader
二、設備可以安裝第三方 recovery
三、系統版本為 Android 4.2 或以上 (體驗完整功能需要 Android 4.4+)
如果你的設備是 Android 4.x 而你想 root,推薦使用 SuperSU。
Magisk 一般來說有兩個主要用途:
一、在不實際修改系統的前提下,達到修改系統的效果 (Android 4.4+)
二、管理 root 權限 (就是以前 SuperSU 的工作) (Android 4.2+)
所以,如果你並沒有這些需求,請不要使用。筆者強烈建議大家不要因為別人安裝了 Magisk 而你沒有,而在根本沒有使用原因或需求的情況下安裝 Magisk。
現在開始簡單地介紹一下 Magisk 相關名詞和概念。
Magisk 框架*
*註:根據 XDA 官方帖子,Magisk 是一個 “Universal Systemless Interface”,直接翻譯大概是「通用『不觸及系統的』接口」,原則上跟「框架」(Framework) 半點關係都沒有。但由於大家在 Android 4.x 的時代用 Xposed 時習慣了「框架」這個名字,故此為了簡單起見,本文會沿用「Magisk 框架」或直接簡稱「Magisk」而不用「Magisk 接口」免得大家要適應新名詞。只要記得這個其實是「接口」而非「框架」就可以了。
這個 Magisk 框架 (實際上是指其安裝文件) 是一個 zip (不是 apk!)。換句話說,單從應用抽屜、應用列表,是看不出,亦不能看出設備有沒有安裝了 Magisk 的。
而安裝 Magisk 的方法,就是要把設備重啟到第三方 recovery,在裡面把 Magisk.zip 刷入。要卸載亦一樣,在第三方 recovery 把卸載包 (也是 zip!) 刷入。
Magisk Manager (Magisk 管理器)
Magisk Manager 是一個應用 (是 apk!),安裝後在應用抽屜和應用列表是可以看到一個面具圖標的 (所以大家把 Magisk 稱為「面具」)。
一般來說,在第三方 recovery 安裝 Magisk 框架後,重啟設備會看到應用列表多了一個 Magisk Manager。這樣令小白有一個錯覺,以為 Magisk 是一個應用。
其實 Magisk 和 Magisk Manager 是兩個獨立的東西。你可以刷入 Magisk 而不安裝 Magisk Manager,或者把已安裝的 Magisk Manager 卸載,這不會影響 Magisk 已安裝的狀態。相反,你不刷 Magisk 也可以安裝 Magisk Manager (雖然並沒有用)。
Magisk Manager 的作用:
一、檢測 Magisk 版本,如果 Magisk Manager 或者 Magisk 有更新,可以在應用內直接下載安裝更新
二、檢測 SafetyNet 狀態
三、下載安裝 Magisk 模塊,和管理已安裝的模塊
四、管理 root 權限 (即跟 SuperSU 一樣)
由於 Magisk 本身不容易被檢測,第三方應用一般都是用檢測 Magisk Manager 存在與否來推測用戶有沒有 root。所以如果大家不需要使用 Magisk Manager,大可以把它卸載,需要使用時再重新安裝即可。如果不想卸載 Magisk Manager,也可以看看設定裡面,有一個選項是隱藏 Magisk Manager,點了後會把 Magisk Manager 的 apk 換了一個沒意義的名字,隱藏效果也不錯。
Magisk 模塊
如前所述,Magisk 其中一個功用,就是在不修改系統的前提下,達到修改系統的效果。具體怎樣操作呢?就是透過安裝 Magisk 模塊了。
Magisk 模塊是一個 zip (不是 apk!不要跟 Xposed 模塊混淆)。Magisk 模塊可以在 Magisk Manager 裡面下載,或者在第三方網站例如 XDA 下載,甚至有能力者可以自己製作。由於 Magisk 模塊是 zip,所以安裝方法可以在 Magisk Manager 裡面安裝,亦可以在第三方 recovery 裡面安裝。
版本選擇
說到最後,究竟如何選擇合適自己的版本呢?
比較幸運的是,Magisk 本身沒多少不同版本,無論是 arm 還是 arm64,一個 zip 通刷。所以,第一次安裝,基本上只需要在 XDA 或 GitHub 下載最新版本的 Magisk.zip 和 Magisk Manager.apk 就可以。(害怕翻車的話,建議同時下載 Uninstaller.zip)
一旦安裝了 Magisk,在 Magisk Manager 裡面可以選擇往後更新的頻道,包括 Stable、Beta 和自訂頻道 (例如官方的 Canary 頻道)。對於小白,筆者建議先刷 Stable,比較不容易翻車。往後經驗和能力多了就可以用 Beta。至於 Canary,雖然更新最多,但理論上 bug 也最多,所以除非有能力應付任何突發情況,否則不建議使用。
最後必需在這裡說一下,很多人 (尤其是小白) 特別喜歡在安裝完 Magisk 之後,在 Magisk Manager 裡面把模塊列表從頭到尾看個遍 (這本身並沒有問題),把看起來感覺能用的都安裝個遍 (這就大問題了)。
筆者在此說明一下,每一個模塊都有指定適用的設備系統、使用需求或場景、安裝後達到的效果等等。如果沒特定需求,或者不完全了解某個模塊究竟做甚麼,千萬不要隨便安裝。不要有一種「別人有安裝所以我也要安裝」然後瞎安裝一堆對你沒用的模塊,安裝錯了還有機會導致連系統也進不了。
Magisk 是一個強大的工具,功能眾多,使用 Magisk 並不代表需要用盡所有功能。你可以用 Magisk 單純作為 root 管理,也可以安裝點模塊,不過如果沒需求就建議不要隨便用。尤其如果真的想瞎安裝一堆模塊,請先作好數據備份,並先了解萬一進不了系統時的解決辦法。
希望這篇文章可以幫助小白們略為了解 Magisk。
後記
雖然本文名為「教程」,不過並非介紹安裝 Magisk 的詳細步驟。相反,本文更像是一本「考生常犯錯誤」題習,幫大家釐清一些基本概念,免得有些小白成功安裝 Magisk 卻不知道自己其實做了甚麼。