不需要Root,也能用上強(qiáng)大的Xposed框架:VirtualXposed
如果你喜歡折騰 Android 設(shè)備,那么你應(yīng)該對(duì) Xposed 的大名有所耳聞。
這個(gè)第三方框架,讓許多 Android 玩家都愛不釋手。通過對(duì)系統(tǒng)框架的「偷天換日」,它可以修改系統(tǒng)與應(yīng)用的各種數(shù)據(jù),籍此實(shí)現(xiàn)無數(shù)種可能性,同時(shí)也大大地提升了 Android 系統(tǒng)的可玩性。
但由于涉及到對(duì)系統(tǒng)底層的一些改動(dòng),Xposed 的使用也有著各種限制;例如,必須要解鎖手機(jī)的 Bootloader,以及獲取 Android 的 Root 權(quán)限等。
然而,有些設(shè)備在執(zhí)行這些操作時(shí)可能并不方便,甚至無法解鎖或者 Root。
但俗話說得好,「辦法總比困難多」。VirtualXposed 的出現(xiàn),為這些設(shè)備帶來了一絲曙光;開發(fā)者稱,借助它,即使在沒有 Root 權(quán)限的情況下,也可以使用 Xposed 框架!

它是如何實(shí)現(xiàn)的?體驗(yàn)怎樣?使用時(shí)又會(huì)遇到什么問題?接下來的文章中,這些問題將會(huì)一一得到解答。
原理是什么?
首先,VirtualXposed 并未對(duì)系統(tǒng)底層進(jìn)行任何修改,也沒有利用什么奇怪的漏洞。
它的工作原理,有點(diǎn)像那些雙開軟件。你可以這么理解:它在你的手機(jī)里生成了一個(gè)「虛擬環(huán)境」,再在這個(gè)環(huán)境中啟用 Xposed。一切都是虛擬的,這也是它叫做 VirtualXposed 的原因。
正因?yàn)榇?,你需要使用?Xposed 框架與框架所對(duì)應(yīng)的應(yīng)用,都需要安裝在這個(gè)虛擬環(huán)境中,才能起作用。
舉個(gè)例子,如果你要在釘釘上應(yīng)用某個(gè)虛擬位置的框架,你必須同時(shí)把二者都安裝到 VirtualXposed 中。

只在 VirtualXposed 中安裝框架,是不會(huì)對(duì)系統(tǒng)中的釘釘起任何作用的。同理,直接將框架安裝在系統(tǒng)上,或是將應(yīng)用和框架都安裝在系統(tǒng)上,也都不會(huì)起任何作用。

了解了它的運(yùn)行原理之后,接下來要說的,就是如何使用這款「神奇」的應(yīng)用了。
安裝應(yīng)用&框架
初次打開 VirtualXposed(下文中或簡稱 VX)后,呈現(xiàn)在眼前的,是這個(gè)類似于 Android 啟動(dòng)器的界面。

不要懷疑,你并沒有裝錯(cuò)軟件;還記得上面介紹的原理嗎?這是一個(gè)「虛擬空間」。而這個(gè)啟動(dòng)器,就相當(dāng)于「虛擬空間」的入口。
和 Pixel Launcher 一樣,向上滑動(dòng)就可以打開應(yīng)用抽屜,安裝到 VirtualXposed 的應(yīng)用都會(huì)在其中顯示;但一開始只有預(yù)先裝好的 Xposed Installer:

如果一切正常,「虛擬環(huán)境」中的 Xposed 應(yīng)該是已經(jīng)啟用的,打開后會(huì)顯示「Xposed 框架已激活」......即使我的手機(jī)并沒有解鎖,以及獲取 Root 權(quán)限。

有三種方法可以將應(yīng)用與模塊安裝到 VirtualXposed 中。***種,是「克隆應(yīng)用」,即將已經(jīng)安裝在系統(tǒng)中的應(yīng)用添加到 VirtualXposed。
回到 VX 的桌面,點(diǎn)擊那個(gè)看上去像是應(yīng)用抽屜的按鈕,可以打開 VX 的設(shè)置選項(xiàng):

選擇「添加應(yīng)用」,在已經(jīng)安裝到系統(tǒng)中的應(yīng)用中進(jìn)行勾選,確認(rèn)后即可將它們「克隆」到 VX 的「虛擬環(huán)境」里。

如果想要添加并未安裝的應(yīng)用或模塊,可以選擇第二種方式;即在各種文件管理器中打開 .apk 安裝包后,選擇「安裝到 VirtualXposed」:

另外,如果你已經(jīng)將各種市場或是瀏覽器添加到了 VX 中,也可以直接通過這些渠道下載并安裝應(yīng)用。

當(dāng)然,如果只是想安裝模塊,還可以直接通過內(nèi)置的 Xposed Installer 搜索并安裝:

添加到 VirtualXposed 中的應(yīng)用,運(yùn)行起來與安裝到系統(tǒng)中的應(yīng)用幾乎無異;可以正常接收通知,以及瀏覽本機(jī)中的圖片等文件。

除此之外,它還可以像「雙開」軟件一樣,同時(shí)運(yùn)行兩個(gè)相同的應(yīng)用,并在多任務(wù)中進(jìn)行切換,甚至還可以分屏。從 VirtualXposed 中打開的應(yīng)用,會(huì)加上 [Admin] 的前綴。

想要管理 VX 中的應(yīng)用進(jìn)程或是卸載應(yīng)用,前往設(shè)置即可,直接在抽屜中長按圖標(biāo)也可以實(shí)現(xiàn)部分操作。

有趣的是,VX 中的啟動(dòng)器,本質(zhì)上也的確是個(gè) Pixel Launcher。如果愿意的話,你甚至還能在設(shè)置中更換圖標(biāo)包......
「萬事俱備,只欠東風(fēng)」。既然應(yīng)用和模塊都已經(jīng)準(zhǔn)備完畢,那么是時(shí)候試試看,它能不能正常使用那些框架了。
應(yīng)用框架測試
接下來,就是「見證奇跡的時(shí)刻」。
從 VirtualXposed 官方網(wǎng)站上給出的支持模塊列表中,我挑選了兩款框架進(jìn)行測試。其中一款名為 MDWechat,是一個(gè)能讓微信界面 Material Design 化的模塊。
激活模塊的方式,與實(shí)機(jī)里的 Xposed 大致無異。打開 VX 中的 Xposed Installer,然后前往「模塊」,就能看到安裝好的模塊了。

按道理來說,接下來的步驟應(yīng)該是「勾選模塊,然后重啟手機(jī)」;然而在 VX 中,啟用模塊并不需要真的重啟手機(jī)。只要在勾選模塊后,前往設(shè)置,點(diǎn)擊最下方的「重啟」即可?!钢貑ⅰ沟乃俣葮O快,因此作者還設(shè)置了一個(gè)「溫馨」的 Toast 提醒......

完成這些操作后,再打開微信;令人興奮的是,MDWechat 的確被成功激活了。

Material Design 版微信,看上去如何?
我又測試了另一個(gè)模塊:應(yīng)用變量,通過它可以分應(yīng)用修改機(jī)型,從而顯示各種不同的來源「小尾巴」。

它也可以成功地被激活,并對(duì) VX 中的應(yīng)用進(jìn)行修改?,F(xiàn)在,我也是用 Mate 9 保時(shí)捷設(shè)計(jì)發(fā)微博的人了!(笑)

當(dāng)然,這些模塊只會(huì)對(duì) VX 里的應(yīng)用生效。但的確,VirtualXposed 在一臺(tái)既沒有解鎖,也沒有 Root 的設(shè)備上,成功應(yīng)用了 Xposed 框架模塊。
如果嫌每次都要在 VX 的啟動(dòng)器中打開應(yīng)用麻煩,可以長按圖標(biāo),選擇「創(chuàng)建快捷方式」,這個(gè)應(yīng)用就出現(xiàn)在你的系統(tǒng)桌面上了,應(yīng)用名會(huì)加上(VXP)的后綴。

插件出問題了,怎么辦?不用擔(dān)心,VX 并不會(huì)影響手機(jī)系統(tǒng),如果真的出現(xiàn)了嚴(yán)重到無法正常使用的情況,直接卸載 VX 即可。
總結(jié)
目前的 VirtualXposed 還不甚完善。它尚未支持需要使用資源 Hook 的模塊,對(duì)一部分模塊的兼容性也尚待增強(qiáng)。
同時(shí),它的工作原理,也決定了任何修改系統(tǒng)的 Xposed 模塊均無法使用;但瑕不掩瑜,VirtualXposed 的確是個(gè)很有前途的項(xiàng)目。它大大降低了 Xposed 框架的使用門檻,讓更多人能體驗(yàn)到各種花樣百出的模塊。
對(duì)于已經(jīng)在系統(tǒng)中啟用了 Xposed 的用戶,還可以借助 VirtualXposed 方便地測試模塊;既不用頻繁重啟手機(jī),又毋需擔(dān)心「翻車」后影響正常使用。
希望作者能進(jìn)一步地完善這個(gè)項(xiàng)目,提升兼容性與穩(wěn)定性,造福更多 Android 玩家。
想要了解更多詳情,可以訪問 VirtualXposed 的 GitHub 頁面。