今天遇到群里有人问插件怎么适配rootless该怎么编写。
今天教学一波,怎么编译适配我们的插件。
好了,我们教程开始:
首先我们写插件的时候要了解他的原理。
我们首先知道我们rootless越狱插件是无根的,而且我们的插件是在jb目录下,那就很简单了,这样我们就知道,其实跟安装普通插件没什么区别,只是目录可能变了而已,那么我们开始写一下。
上次已经教过大家安装配置theos环境配置了,我们创建插件(tweak)

既然是rootless那我们肯定需要设置一下,打开我们makefile文件进行设置:

我们需要加一个判断,判断是否是rootless插件,如果是我们进行适配,这里的代码是:
ROOTLESS = 1
ifeq ($(ROOTLESS),1)
THEOS_PACKAGE_SCHEME=rootless
endif
ifeq ($(THEOS_PACKAGE_SCHEME), rootless)
TARGET = iphone:clang:latest:15.0
else
TARGET = iphone:clang:latest:12.0
endif
意思就是设置一个变量,然后进行判断,如果是并且是在12到15系统内,完成后我们进行编译。

这样我们的适配的rootless插件就完成了
这里强调一下,如果涉及到路径调用,比如调用命令行工具,我们需要注意fugu15
、Dopamine
无根越狱的路径是/var/jb/
,所以我们需要设置一下路径,运行我们的库或者命令行工具,代码如下:
上面的代码有三个路径,根据自己的需求设置路径即可,看你的设备是什么样的进行适配即可。
后面的task就是执行的内容跟shell的命令,这是一个示例。
如果是monkeydev去写插件的时候,我们需要注意的点:
我们需要把支持arm7去掉,因为是支持arm64的,然后我们需要写以上代码进行执行我们的库,你可以去写个插件用dlopen去执行该目录下的库或者命令行工具等,具体需要按照自己的要求去执行
请登录后查看评论内容