10

Lspatch使用 - yuitoTDF

 1 year ago
source link: https://www.cnblogs.com/yuito/p/android_uselsp.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

xp模块可以使用户获得应用原本所没有的功能。
使用模块需要修改应用。对于Root用户来说,使用Lsposed是个不错的选择,也方便。
但是大多数用户没有将手机Root。
所以Lsposed的开发者做了一款功能相对不够全面,但仍能实现修改应用功能的工具:Lspatch。
Lspatch不需要Root权限运行。而且,lspatch还具备一种模块注入的模式:便携模式。
便携模式可以直接把注入模块后的应用打包。这样的应用运行不再需要依靠Lspatch,可以分享给其他人。

下面我以QQ做示例,为大家演示Lspatch的使用过程。

成品请见资源分享帖

提一嘴:安装之前切记卸载原应用(记得备份),否则签名不一致会安装失败。
操作过程中若出错,试试重启手机或将应用停止运行。


> 准备

在这里,我选择了开源的Qa模块注入到QQ中,以实现防撤回功能。

把上面的资源全部放到安卓手机里。注意要明确文件的位置,以便使用。

> 便携模式

便携模式可以直接把注入模块后的应用打包。
这样的应用运行不需要依靠Lspatch,可以分享给其他人。

  1. 安装Lspatch。
    lspatch安装完长这样:
    img
    shizuku我们不理,目前用不着。

  2. 安装完成后,进入Lspatch,下方点击管理,点击加号:
    img
    首次使用会提示选择一个目录来存储已修复的apk,选择自己方便调用的文件夹,并给予存储权限。

  3. 此时弹出框有两个选项:
    img
    如果已经安装QQ,可以选择下面的"选择已安装的应用程序";
    如果未安装,选择上面"从存储目录中选择(多个)apk".
    然后在弹出的界面找到QQ(或安装包).选择完毕进入修补界面如下:
    img

  4. 选择便携模式,点击"嵌入模块",选择模块qa。
    img
    img

  5. 点击右下角“开始修补”,等待修补完成。
    img

  6. 进入手机的文件管理器,查找apk
    img
    这样,我们便得到了嵌入了qa的qq.

> 本地模式

本地模式,顾名思义只能在本地运行。
它不再嵌入模块,而只是修改应用以模块得以使用。
缺点很明显,即需要Lspatch在后台运行,应用才可正常运作。
优点是可以灵活管理模块,模块更新不需要重新打包。

  1. 同便携模式1-3步,进入修补界面,选择本地模式。
    img

  2. 直接开始修补。

  3. 修补完成后,手动找到安装包安装。(lspatch中的安装键需shizuku赋权,如果你会用shizuku也可以。)

  4. 安装后重启手机(这是一个好习惯),打开Lspatch。在管理-应用里面会发现修补好的应用,点击后选择作用域,选择要使用的模块。
    img
    img
    此时的模块需安装。

> 控制台模式

Lspatch还提供了另一种打包方式:从电脑打包.
通过他提供的一个jar包,打包出来本地模式或便携模式的包。

准备资源:

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为要修改的应用安装包.

> FAQ

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK