管理器特性开发
更新: 9/28/2025字数: 0 字时长: 0 分钟
TIP
本篇内容的所有特性都是在 ShiroSU 管理器实现的,与 ShiroSU root 实现没有关联性, ShiroSU 管理器的特性可在其他 root 实现上使用
ShiroSU 管理器的特性大多都是在module.prop
与其他特定文件上的拓展
IMPORTANT
请确保模块内的所有文本文件均使用UNIX (LF)
换行类型,而不是Windows (CR + LF)
或Macintosh (CR)
!
module.prop
ANSI 转义码[1]
ShiroSU 允许在module.prop
或 Shell 脚本中使用ANSI 转义码
来丰富文本的显示,例如可在module.prop
使用如下代码:
id=ssu_cmd_ext
name=Command Set Extension
version=Auto-generated by SSU
versionAnsi=\e[1mAuto-generated\e[0m by SSU
versionCode=1
author=SSU Developers (O.O.M. W.G.)
description=Add coreutils, busybox, and bash to /system/bin.
descriptionAnsi=Add \e[1mcoreutils, busybox, and bash\e[0m to \e[1m/system/bin\e[0m.
使用如上module.prop
后, 模块在 ShiroSU 管理器中显示时Auto-generated
、coreutils, busybox, and bash
以及/system/bin
均会被加粗
在module.prop
中, 可使用nameAnsi
、versionAnsi
、authorAnsi
、descriptionAnsi
、actionAnsi
来显示包含 ANSI 转义码的文本
虽然不包含Ansi
后缀同样可以使用,但是为了确保兼容性,请这么做
ShiroSU 是通过顺序解析来读取module.prop
中的内容的,所以请确保包含Ansi
后缀的值是靠后的展开查看渲染效果
损坏检测&规范检查
ShiroSU 管理器有一个机制用来检测module.prop
是否损坏或符合规范, 如果损坏或不符合规范,ShiroSU 管理器会在该模块的上方显示一个标签
WARNING
有些模块会使用sed
命令来修改module.prop
以实现实时更新内容,但此方法有一定概率会导致module.prop
文件损坏, 请避免通过sed
修改或者通过其他方式来显示实时内容,也可以实现一个module.prop
损坏检测机制,在其损坏时恢复至默认内容
ShiroSU 管理器具体会检测如下内容:
module.prop
内是否包含不符合语法的内容id
、name
、version
、author
、description
是否为空 (如有带有Ansi
后缀的同样检测)id
是否符合此正则表达式:^[a-zA-Z][a-zA-Z0-9._-]+$
versionCode
是否大于0module.prop
内是否存在大小写不规范的情况 (ShiroSU 管理器会正常解析,但仍会显示标签)
如果只是module.prop
损坏,重装模块通常可解决此问题,如果不符合规范,则需要开发者自行修复以解决此问题
其他内容
除了ANSI 转义码相关内容之外,ShiroSU 管理器还会解析如下内容:
action
: 定义此内容,会在执行操作前显示弹窗,此内容用于描述操作有何作用runtimeInfo
: 定义此内容,会在模块名称旁边显示可点击图标,此内容为文本文件的模块相对路径/绝对路径,用于描述模块运行时的信息
ShiroSU 管理器还会自动搜索模块目录内是否有 符合正则表达式(?i)^(?:license|licence)(?:[-_][A-Za-z0-9]+)?(?:\.(?:txt|md|mkd))?$
的文件, 如有,则会在模块信息卡片中显示一个许可证标签,点击则会显示模块的许可证内容
其他特性
ShiroSU 会在后续更新中提供模块备份接口、模块更新接口 (在更新时执行原本模块的代码)、模块存储接口等功能,这些内容尚在规划中,会在后续更新中推出