Riru模块开发与使用指南
Riru模板是专为基于Riru框架构建Magisk模块而设计的起点。本指南将详细介绍如何安装和配置Riru模块模板,以及如何利用其API进行开发。通过遵循本文档,开发者能够顺利创建和集成自己的Riru兼容模块。
安装指南
- 准备环境:确保您的开发环境中已安装了Android Studio和Gradle。
- 获取模板:从GitHub上克隆Riru的模块模板仓库到本地。
- 修改配置:
- 将
module.example.gradle
重命名为module.gradle
。 - 打开
module.gradle
,替换所有标记为“replace with yours”的信息,以匹配您项目的具体细节。
- 将
项目使用说明
- 文件结构理解:熟悉Riru模块的文件结构,核心模块代码通常位于特定目录下,并且应当遵循Magisk模块文档中的指导原则。
- API适应:依据目标设备的Android版本选择合适的Riru API(如API 26及以上),并遵守相应的API变更规则,例如对早期模块支持的移除或新功能的引入。
项目API使用文档
Riru API关键变化概览
- API 26+: 移除了对Android 24以下版本的支持,以及对
/data/adb/dev_random
位置的变化处理。 - API 25: 引入了模块卸载功能,并废弃了
shouldSkipUid
方法。 - API 24: 统一API版本号,简化了库文件存放路径,推荐在
$MODPATH/riru/lib(64)
存储。 - API 10 (Riru v23): 引入了
rirud
服务,用于实现受限访问下的文件和目录读取功能,需要模块自己实现与rirud
的socket通信逻辑。
实现细节示例
对于API 10及以后版本中复杂的操作,如通过rirud
读取文件或目录,需要手动编码实现特定的动作码(ACTION_READ_FILE/ACTION_READ_DIR)并通过Unix域套接字与rirud
服务交互。
示例代码片段:
- 读取文件伪代码 和 读取目录伪代码 已在原始描述中给出,开发者需自行根据这些逻辑实现在模块代码内。
项目编译与安装方式
- 编译模块:在Android Studio中或命令行执行
:module:assembleRelease
任务,生成的zip文件会保存在out
目录下。 - 部署模块:将编译得到的zip文件安装至Magisk。这通常通过Magisk App完成,选择“添加模块”导入刚刚生成的zip文件。
- 激活模块:安装后,在Magisk管理界面启用该模块,重启设备或重新加载Magisk模块以应用变更。
通过上述步骤,您可以有效地创建、配置和使用基于Riru框架的自定义Magisk模块。记住,深入理解Riru的每一代API变化对于成功开发兼容性强的模块至关重要。