LSPosed,會是理想的Xposed框架嗎?

作者:米花A
鏈接:https://www.zhihu.com/question/442534533/answer/1711572870
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
 

自原版Xposed框架爲安卓平臺的注入提供了統一規範以來,安卓玩機進入了一個全新的時代。而在時間變遷中,原版Xposed開發停止,新的框架逐漸接替其位置。EdXposed框架在高版本安卓上幾乎完全取代了原版Xposed的地位,同時也有夢境這個歷史較短的新興框架。與此同時,太極、應用轉生、Xpatch等虛擬框架通過修改應用的方式實現了無需root的注入,將Xposed帶給了無root的設備。

LSPosed,是基於EdXposed開發的半個新框架,它的出現主要由於EdXposed的以下現狀:
1.主要維護者solohsu是一隻老鴿子,長期沒有寫新的代碼。
2.EdXposed在MlgmXyysd的主導下,傾向於保持與原版Xposed框架的兼容性、行爲一致性,存在大量歷史包袱。
3.EdXposed管理器沒有很好地適應當前Xposed界的發展情況,允許用戶進行一些可能給手機帶來卡頓的操作。

下面開始展開來講:
有不少人感到了EdXposed在使用中會使系統卡頓,這是由多方原因造成的:
1.EdXposed管理器有一個“增強模式”,該模式實際上並不能幫助你更好地隱藏Xposed,但是會造成應用啓動變慢。
2.EdXposed默認使用全局模式,即EdXposed框架會準備對所有應用進行注入。這種操作沒有必要且影響運行速度,因爲目前並無模塊需要同時注入所有應用。

LSPoesd針對這些問題作出了改進:
1.拿出大砍刀,大砍特砍,無用的功能與代碼統統砍掉。更精簡的代碼通常意味着更佳的性能表現。
2.去掉了全局模式與黑白名單機制。使用LSPosed時,必須針對各模塊選擇該模塊將會注入的應用,也就是它的“作用域”。這樣雖然引入了額外的操作,但有效防止了額外的注入引起的卡頓問題或隱私問題。
也就是說,LSPosed並未在原理上進行大的調整,重點在於引導用戶“正確”地使用Xposed框架,確保Xposed框架和模塊都不會做多餘的事。

關於作用域:
模塊作用域首先出現在應用轉生、太極等虛擬框架上,可以指定一個模塊僅對哪一些應用啓用。其最初目的是隱私保護,現在則起到了更大的作用。
一些模塊,如QNotified、嗶哩漫遊,有着很明顯的作用域需求。而一些看起來“全局”的模塊,如核心破解、綠色守護、滅霸,其實只需要在作用域中加入 Android系統 即可使用。更復雜的模塊,如chimi、重力工具箱,則會告知用戶它需要的作用域。

LSPosed Manager

未來展望(畫大餅):

1.LSPosed還將引入新的Xposed API,允許模塊自動告知管理器它需要的作用域,屆時Xposed模塊的使用或將更加便利。

2.管理器不再作爲單獨app,成爲SystemUI的一部分並通過撥號啓動。

3.加入native層注入的支持(Xposed模塊通常只管Java層)

4.維護全新的Xposed模塊倉庫,取代XDA所維護的那個年久失修的倉庫。

5.在yahfa、sandhook以外引入新的hook框架(大概)。

寫在最後:

LSPosed目前尚在快速開發中,暫未發佈穩定版,尚不適合普通用戶,僅建議模塊作者/救磚專業戶參與測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章