xp模組可以使使用者獲得應用原本所沒有的功能。
使用模組需要修改應用。對於Root使用者來說,使用Lsposed是個不錯的選擇,也方便。
但是大多數使用者沒有將手機Root。
所以Lsposed的開發者做了一款功能相對不夠全面,但仍能實現修改應用功能的工具:Lspatch。
Lspatch不需要Root許可權執行。而且,lspatch還具備一種模組注入的模式:便攜模式。
便攜模式可以直接把注入模組後的應用打包。這樣的應用執行不再需要依靠Lspatch,可以分享給其他人。
下面我以QQ做範例,為大家演示Lspatch的使用過程。
成品請見資源分享帖。
提一嘴:安裝之前切記解除安裝原應用(記得備份),否則簽名不一致會安裝失敗。
操作過程中若出錯,試試重啟手機或將應用停止執行。
在這裡,我選擇了開源的Qa模組注入到QQ中,以實現防撤回功能。
Qa模組(全面叫QAuxiliary):https://github.com/cinit/QAuxiliary
一部安卓手機,可以使用模擬器,但千萬不要使用安卓子系統,因為沒有檔案目錄體系。
把上面的資源全部放到安卓手機裡。注意要明確檔案的位置,以便使用。
便攜模式可以直接把注入模組後的應用打包。
這樣的應用執行不需要依靠Lspatch,可以分享給其他人。
安裝Lspatch。
lspatch安裝完長這樣:
shizuku我們不理,目前用不著。
安裝完成後,進入Lspatch,下方點選管理,點選加號:
首次使用會提示選擇一個目錄來儲存已修復的apk,選擇自己方便呼叫的資料夾,並給予儲存許可權。
此時彈出框有兩個選項:
如果已經安裝QQ,可以選擇下面的"選擇已安裝的應用程式";
如果未安裝,選擇上面"從儲存目錄中選擇(多個)apk".
然後在彈出的介面找到QQ(或安裝包).選擇完畢進入修補介面如下:
選擇便攜模式,點選"嵌入模組",選擇模組qa。
點選右下角「開始修補」,等待修補完成。
進入手機的檔案管理器,查詢apk
這樣,我們便得到了嵌入了qa的qq.
本地模式,顧名思義只能在本地執行。
它不再嵌入模組,而只是修改應用以模組得以使用。
缺點很明顯,即需要Lspatch在後臺執行,應用才可正常運作。
優點是可以靈活管理模組,模組更新不需要重新打包。
同便攜模式1-3步,進入修補介面,選擇本地模式。
直接開始修補。
修補完成後,手動找到安裝包安裝。(lspatch中的安裝鍵需shizuku賦權,如果你會用shizuku也可以。)
安裝後重啟手機(這是一個好習慣),開啟Lspatch。在管理-應用裡面會發現修補好的應用,點選後選擇作用域,選擇要使用的模組。
此時的模組需安裝。
Lspatch還提供了另一種打包方式:從電腦打包.
通過他提供的一個jar包,打包出來本地模式或便攜模式的包。
準備資源:
lspatch.jar
https://github.com/LSPosed/LSPatch/releases/latest在lspatch.jar
所在的目錄執行cmd.
控制檯輸入以下命令:
java -jar lspatch.jar xxx.apk -manager -l 2
java -jar lspatch.jar xxx.apk [-m 模組1.apk [-m 模組2.apk ...]] -l 2
xxx.apk
為要修改的應用安裝包.Q1: 本地模式修補後在管理-應用-【修補好的應用】-模組作用域裡找不到模組?
A1: 模組要先安裝在手機裡。
Q2: 電腦控制檯無法正常執行lspatch.jar,提示UnsupportedClassVersionError
?
A2: 執行JSE版本過低。我使用的JDK:https://www.123pan.com/s/v0XlVv-vJw9d
Q3: 首次使用會提示選擇一個目錄來儲存已修復的apk,可是沒有目錄?
A3: Lspatch應用設定-許可權設定-讀寫檔案許可權-允許。
Q3.1: 還是不行?
A3.1: 不要在Windows Subsystem for Android™ 上測試。若非如此,請重啟手機。
Q4: 便攜模式找不到生成後的安裝包?
A4: 請檢查修補紀錄檔最後一行是否提示出錯。新版安卓隱私政策升級,檔案管理器可能無法及時讀取到檔案,請手動到第二步的目錄下查詢或重啟手機。
Q5: 應用修補後按"安裝"提示Shizuku服務未連線?
A5: 屬正常情況。Lspatch可搭配Shizuku使用,方便解除安裝、安裝應用等操作。沒有shizuku的使用者可以手動解除安裝原應用後手動安裝修補完的應用。
The End
Yuito 2023