Xposed from Stratch
Jacob HA (EMK2000)Xposed 極簡教學 (小白向)
文章版本:v3
最後更新:2019-02-19
注意:Android 9 (Pie) 沒有 Xposed!
前言
除了 Magisk 外,Xposed 也是一樣容易令小白一臉懵逼的東西。
Magisk 相對簡單,因為框架只有一個 zip,管理器只有一個 apk。相反,Xposed 框架對不同 Android 版本、不同 CPU 架構、不同定製 ROM 也各有不同版本,而同時對於不同版本的框架又有不同版本的安裝器。所以對於初學者而言,單是找對自己系統的版本就已經不容易了。
另外,由於大家叫 Xposed 框架習慣了,在 Magisk 推出之後,慣性地把 Magisk 也稱為「框架」,導致小白很容易把兩者混為一談,經常詢問 Magisk 和 Xposed 哪一個好,哪一個強大。其實 Magisk 和 Xposed 是兩個完全不同的東西,原理和功能都不一樣,並且可以同時存在,所以不存在比較強弱一說。
有鑑於此,筆者撰寫本文,簡單介紹 Xposed 相關名詞,包括 Xposed 框架、Xposed Installer 和 Xposed 模塊,同時亦會介紹不同版本的 Xposed,包括官方版 Xposed、Magisk 版 Xposed 和第三方定製版 Xposed。
在開始介紹之前,先說明一下,安裝 Xposed 意味著你的設備會解鎖 bootloader 和有 root,並且不通過 SafetyNet。如果你不想或沒打算解鎖 bootloader,或者需要通過 SafetyNet,請不要使用。
(本文同時假設讀者有良好的網絡條件,可以訪問國外網站如 XDA。)
另外,跟 Magisk 不同,Xposed 相對容易翻車,所以每次重啟之前,記得備份數據。
現在開始介紹一下 Xposed 相關概念。
Xposed 框架 (Xposed Framework)
註:這個框架是「真·框架」,不是俗稱,而是官方名字。
Xposed 框架 (或簡稱 Xposed、框架) 是一個 zip (不是 apk!) (嚴格來說不是 Xposed 本體,而是其安裝文件)。安裝 Xposed 後,在應用列表、應用抽屜裡面是不會看到任何 Xposed 相關的應用。(所以不要問為甚麼安裝 Xposed 成功了,但重啟後仍然看不到有 Xposed 這個應用,這是正常現象。)
跟 Magisk 相類似,Xposed 框架和 Xposed Installer 也是兩個獨立的東西。安裝 Xposed 後,需要另外再安裝 Xposed Installer 才能使用。不過跟 Magisk 不同,Magisk Manager 不需要經常打開使用,但 Xposed Installer 是需要經常打開的,而且不能隨便卸載,否則 Xposed 會不能用。
官方版 Xposed 分為新舊兩個版本。舊版本支持 Android 4.0.3-4.4,需要 root 才能安裝。安裝方法十分簡單,在 Xposed Installer 裡面點「安裝」就可以。
新版本支持 Android 5.0-8.1,每一個 Android 版本也有一個對應的 zip,而且還要分開 CPU 是 arm 或者 arm64。如果不知道 Android 版本或者 CPU 架構的話,可以直接安裝 Xposed Installer,打開後會顯示設備信息。
新版本的 Xposed 可以直接在第三方 recovery 刷入 Xposed。所以,理論上安裝 Xposed 並不需要 root。當然,個別模塊有機會需要 root 權限,而且筆者基本沒見過有人安裝 Xposed 而沒有 root 的,所以讀者也可以假定 Xposed 需要 root。除了在第三方 recovery 刷入 Xposed,有 root 的話還可以在 Xposed Installer 裡面直接下載刷入。
卸載官方版 Xposed 的方法,就是刷入 Xposed Uninstaller (是一個 zip!)。如果能夠進到 Xposed Installer 裡面,可以直接下載 Uninstaller 的 zip 刷入。否則就需要到官方網站下載 zip,進到第三方 recovery 刷入。
Magisk 版 Xposed (或稱 Systemless Xposed),顧名思義是一個 Magisk 模塊 (即同樣是一個 zip)。這個 zip 同樣分開不同 Android 版本,支持 Android 5.0-8.1。不過開發者把不同 CPU 架構都合併了,所以 arm 和 arm64 也使用相同的 zip,只需要根據 Android 版本下載對應的 zip 就完成了。
使用 Magisk 版 Xposed 需要先使用 Magisk,亦即要 root。安裝途徑有兩個,可以直接在 Magisk Manager 裡面安裝,或者在第三方 recovery 裡面刷入。
由於 Magisk 版 Xposed 只不過是官方版 Xposed 重新打包成 Magisk 模塊,所以兩者效果和功能完全相同。這意味著如果一個能用,則另一個也能用,反之如果一個不能用,則另一個亦然。
至於卸載方法,由於 Magisk 版 Xposed 只不過是一個 Magisk 模塊,所以並不需要像官方版 Xposed 一樣刷入 Uninstaller。只需要在 Magisk Manager 裡面直接刪掉 Xposed 模塊就可以。當然如果翻車進不了系統,就唯有進第三方 recovery 了,此處不贅。
最後簡單說一下第三方 Xposed。因為官方版 Xposed 一般適配原生、類原生、AOSP 類的系統比較好,所以一些 “魔改” 系統例如 Samsung TouchWiz、MIUI 等等刷入官方 Xposed 時會有較大機率不能用甚至翻車。於是有不少開發者就把 Xposed 稍為修改一下適配了這些系統。
所以當你不是用原生或類原生系統的話,建議你先搜索一下自己的設備能不能使用官方版 Xposed,或者應用用哪一個第三方 Xposed。
最後一個需要特別注意的地方,就是無論是官方版、Magisk 版還是第三方 Xposed,只要安裝了,就不能通過 SafetyNet。即使 Magisk 版沒修改系統,也不能通過 SafetyNet。所以如果你的設備有需要通過 SafetyNet 驗證的話,Xposed 與你無緣了。
另一個需要注意的地方,就是安裝 Xposed 後,即使成功了,第一次開機的時間會特別久,這屬於正常現象。因為 Xposed 需要把已安裝的應用都優化一遍,如果安裝的應用比較多,那麼開機時需要給點耐性了。
萬一在安裝 Xposed 時已經翻車了的話,只要還能重啟進第三方 recovery,就可以隨時刷 Uninstaller。所以這沒甚麼好擔心的。
說了這麼多,大概也說完 Xposed 框架了。接下來繼續說 Xposed Installer。
Xposed Installer (Xposed 安裝器)
Xposed Installer 是一個應用 (是一個 apk!),安裝後將會在應用列表 / 應用抽屜看到其存在。
既然名為 Xposed Installer,顧名思義這是用來安裝 Xposed 的應用。具體操作十分簡單,打開 Xposed Installer 直接可以看到自己設備系統版本、CPU 架構,讓你知道應該下載哪個版本的 zip。在有 root 的情況下,Xposed Installer 裡面可以直接下載安裝。
Xposed Installer 除了可以安裝 Xposed 框架,還可以在裡面的 Repo 看看有甚麼 Xposed 模塊,可以在裡面直接下載模塊。同時 Xposed Installer 裡面也可以下載 Uninstaller,有 root 的話可以直接刷入卸載 Xposed。
另一個比較特別,只支持較新版本的功能,就是可以停用 Xposed。這功能可以讓你在不卸載 Xposed 框架的情況下,暫時停用 Xposed 功能。(雖然筆者不太覺得這功能有多實用就是了。)
現在分別介紹對應不同 Xposed 版本對應的 Xposed Installer。
舊版官方 Xposed (Android 4.0.3-4.4),需要對應舊版本的 Xposed Installer,最後更新的版本是 v2.6.1 (穩定版) 或者 v2.7 experimental1。
新版官方 Xposed (Android 5.0-8.1),可以安裝 v3 以上的 Xposed Installer,最後更新的版本是 v3.1.5。新版本對比舊版本,其中一個較大的分別,就是有 material design,設計美觀了不少。後續有很多其他應用,也是沿用 / 借鑒了相同設計。
Magisk 版 Xposed (Android 5.0-8.1) 用的,是一個修改版的官方 Xposed Installer,版本號完全一樣。唯一分別就是官方版 Xposed Installer 檢測不到 Magisk 版 Xposed,於是這個修改版 Xposed Installer 進行了適配。除此之外,功能和介面跟官方 Xposed Installer 基本上沒任何分別。
至於其他第三方 Xposed,在 XDA 有一位開發者 dvdandroid 弄了一個修改版的 Xposed Installer (官方 Xposed Installer 的 material design 就是他作的貢獻)。這個 dvdandroid 版的 Xposed Installer 基本上甚麼版本的 Xposed 也可以用,包括官方版、Magisk 版和其他 Samsung、MIUI 專版都能用。
唯一要注意的,就是 dvdandroid 版的 Xposed Installer 版本號比較低,大概只更新到 v3.1.4,所以有機會在一些應用市場會提示有更新,把更新忽略就可以。
Xposed 模塊 (Xposed Module)
Xposed 模塊都是應用 (是 apk!),安裝後在應用列表就可以看到。不過由於很多模塊的作用只是修改系統或者修改其他應用,所以有可能不會在應用抽屜裡面顯示出來。如果不想在系統的應用列表查看有沒有安裝,可以直接在 Xposed Installer 裡面查看已安裝的模塊列表。
需要注意的,是千萬不要把 Magisk 模塊和 Xposed 模塊混為一談。Magisk 模塊是一個 zip,Xposed 模塊是 apk。前者需要在 recovery 刷入或者在 Magisk Manager 裡面安裝,而後者只是普通應用,在系統直接安裝就可以。
安裝 Xposed 模塊後,需要在 Xposed Installer 裡面的列表勾選模塊,再重啟設備才算激活了模塊。不過在重啟前,記得要備份好數據,因為如果安裝的模塊不支持你的設備的話,這一步就會隨時翻車了。「翻車」具體有可能是「卡開機畫面」,有機會能成功開機,但各種錯誤或 “FC”。而「翻車」的原因,除了可能是模塊跟你的設備有衝突,也有可能是幾個模塊之間有衝突。
如果你一次過安裝並激活一大堆模塊而結果翻車了,還要逐一排查才知道具體是哪一個模塊出問題了。(所以筆者建議每一次激活一個模塊,沒問題再激活下一個。)
萬一真翻車了怎麼辦?聽聞在開機時連擊電源鍵,可以暫時停用 Xposed (筆者自己也沒試過這種操作,所以只是「聽聞」)。這樣如果能成功開機,就可以把出問題的模塊卸載了。(因為模塊只是普通應用,所以跟其他應用一樣,隨便卸載就可以。)
最後有必要說一下,很多人在安裝 Xposed 後,會把 Xposed Repo 從頭到尾看一遍 (這本身並沒有問題),然後又把看起來不錯的都一股腦兒安裝並激活 (這操作就非常危險了!)。這樣做的話基本上翻車機會會很大。而且即使不翻車,使用太多 Xposed 模塊會令設備有明顯減慢或卡頓現象。
筆者建議,盡量不要用太多模塊,非必要的盡量不要用。真要用的話,先要了解清楚模塊所適用的系統 (例如原生、Samsung、MIUI) 和系統版本 (例如 Android 7.0-7.1.1、8.0-8.1)。
Xposed 跟 Magisk 不同。Magisk 基本上就是 root 的代名詞,要 root 就要 Magisk (至少對於較新的系統而言是如此)。但 Xposed 完全不同,有 root 可以完全不用 Xposed,所以對於純粹要 root 的人來說,Xposed 並非必需品。所以,非必要其實大可以不必用 Xposed,尤其如果你是因為別人用而用的話,就更沒必要。真要使用的話,需要了解到 Xposed 十分容易翻車,所以記得要先學會如何在翻車的情況下自救。
希望這篇文章可以幫助小白略為了解 Xposed。
後記
由於在 Android 推出 9.0 版本後,官方 Xposed 才推出了 Android 8.0-8.1 的 Xposed,而且是 Beta 版 (直到現在還是沒有正式版)。可想而知,Android 9.0 的 Xposed 大概是遙遙無期了。
於是從 Android 8.0 開始,就有開發者致力於研發 Xposed 的替代品。現時出現了的新一代 Xposed 有三個:VirtualXposed (VXposed)、太極 (EXposed)、EdXposed。其中有些不用 root,有些則要 root。如果你的設備是 Android 9.0 而你又想繼續使用某些 Xposed 模塊,可以即管一試。
再過一段時間,如果仍然沒有任何 Xposed 的新消息,估計將會跟 SuperSU 一樣,成為歷史了。