插件文档 v3.1.N

Util 版本:v3.1

本页内容

插件模板在新窗口打开

提示

  1. 本文档部分说明格式为 “变量名 (数据类型): 说明” 或 “数据类型: 说明”
  2. 标有 X 的表示已废除,相关 API 已被移除
  3. 标有 * 的表示必须文件、方法 或 变量
  4. 软件写的比较随意,因此您可以随意调用API,就像是修改软件本身一样,此文档只是起帮助理解的作用。

警告

已废除的 API 无法继续使用,因此您需要进行特殊的判断,请谨慎提高 targetcode ,以免造成用户数据损失

建议最低的最低适配软件版本

我们强烈建议从 v5.1.0(51099)或以上 开始适配,因为在 v5.1.0 发生了巨大变化,大到开发者自己都不知道改了啥。本文档有非常多地方待修正或者补充,如果您发现了某处有问题,希望您可以联系我们以修复。

危险

此版本文档还有许多部分待完善。但目前已经停止维护

手动导入

  1. 打开文件管理,进入 内部存储/Android/media/com.jesse205.aidelua2/files/plugins ,如果没有此文件夹就手动新建一个
  2. 下载插件(扩展名通常为 zipalp ,当然也不排除还有其他扩展名)
  3. 使用 zip 格式打开插件,打开 init.lua 文件,复制 packagename (包名) 的参数( = 后面,不带引号)
  4. plugins 文件夹 里面新建文件夹,重命名为 插件的 packagename (就是刚刚复制的文字)
  5. 解压插件内所有的文件,到第4步新建的文件夹
  6. 重启 AideLua

注意事项:

  1. 目标版本和最低版本请按实际情况填写,最低为 50099
  2. 扩展名应为 alp (Androlua+ 扩展) 或 zip
  3. 为了防止污染全局变量,插件内直接赋值为插件的局部变量。如要修改全局变量,请使用 _G.xxx=xxx

通用 API

警告

尽量避免使用 Jesse205 库。因为 Jesse205 库每次改动都比较大,很容易引起插件报错。

提示

Aide Lua 的插件通常以植入代码的方式实现。
您可以在 Github 或者 Gitee 上查看此程序的源码,以便编写良好的插件。

PluginsUtil table Util

插件相关 API,也是支持插件运行的模块

变量说明
_VERSIONstring: Util 版本
PLUGINS_PATHstring: 插件存放路径
PLUGINS_DATA_PATHstring: 插件数据存放路径

PluginsUtil.getPluginDataPath(packageName)

获取插件数据目录

参数说明
packageNamestring: 插件包名。

PluginsUtil.getPluginPath(packageName)

获取插件目录

参数说明
packageNamestring: 插件包名,如果文件夹名与真正的 init.lua 中的 packagename 不同,则 packageName 传入文件夹名。

PluginsUtil.clearOpenedPluginPaths() v5.0.4(50499)+

清除已启用插件列表,用于重新加载插件

activityName string

当前页面 (Activity) 名,可能为 nil

说明
main主页面
settings软件设置页面
newproject新建工程页面 v5.0.4+
viewclass查看类页面 v5.0.4+
about关于页面 v5.0.4+
layouthelper布局助手页面 v5.0.4+
javaapiJavaAPI查看器页面 v5.0.4+

getPluginDataPath(packageName)

获取插件数据目录,与 PluginsUtil.getPluginDataPath(packageName) 完全相同

getPluginPath(packageName)

获取插件目录,与 PluginsUtil.getPluginPath(packageName) 完全相同

插件文件说明

README.md 文件 v5.1.1+

插件的说明文档

危险

说明文档的文件名只能是 README.md ,不能是 readme.mdREADME.txt 或其他。

* init.lua 文件

插件入口,也用于存放模块信息的文件

变量说明
* appnamestring: 插件名
* packagenamestring: 插件包名
* appnamestring: 插件名
* appverstring: 插件版本名
* appcodenumber: 插件版本号
* packagenamestring: 插件包名
modestring: 模式,默认为 "plugin"
utilversionstring: Util版本,此变量不起任何作用,当前为 "3.1"
thirdpluginstable (list): 需要安装的第三方库
内容: 插件的包名
supported2table (map): 支持的APP列表
索引: 软件代号 (apptype)
内容: table (map): 支持的版本,mincode为最低版本,targetcode为最高版本
eventstable (map): 全局事件
已弃用
变量说明原因
* minemastercode Util v3.1 废除number: 最低支持的APP版本号。多个宿主只能使用相同的版本
* targemastercode Util v3.1 废除number: 目标适配的APP版本号。多个宿主只能使用相同的版本
supported Util v3.1 废除table (list): 支持的APP列表。此变量在 Util 版本 3.1 弃用。未指定宿主版本

提示

全局事件与独立事件基本一致。

但与独立的事件相比,第一个参数为页面名称,但是很可能为 nil

警告

init.lua 中运行中不会有各种内置变量,只有在运行后会将环境表设置为 metatable ,自动取 _G 中的值

彩蛋
软件代号 ( apptype )代指软件
aideluaAide Lua (Pro)
eddeluaEdde Lua (截止目前此app不支持插件)
alstudioAndroid Lua Studio (截止目前此app仅存于想象)
yunchu_jesse205云储 优化版 (截止目前此app不支持插件)
eddeyunchumanagerEdde 后台管理 (截止目前此app仅存于想象)
userstatistics用户统计 (截止目前此app仅存于想象)
goapk_jesse205GoApk (截止目前此app仅存于想象且已停止)
highapk良心APK (截止目前此app仅存于想象)
eddebrowserEdde 浏览器 (截止目前此app仅存于想象)
eddeconnectEdde 互联 (截止目前此app仅存于想象)
eddestudyEdde 学习桌面 (截止目前此app仅存于想象)
eddemusicEdde 音乐(截止目前此app仅存于想象)
eddevideoEdde 视频(截止目前此app仅存于想象)
eddebookEdde 阅读(截止目前此app仅存于想象)
hellotool哈兔Box (截止目前此app不支持此类型插件)
androidbox安卓工具箱 (截止目前此app仅存于想象)

main.lua 文件

插件主页面

参数顺序 (...)说明
1项目路径
2文件路径

config/events/ 文件夹

存放各个页面的独立事件的文件夹

  • 文件扩展名: aly (不支持 lua )
  • 文件名称: <页面标识>.aly
  • 文件示例: main.alysettings.aly ......
  • 更多请见 page 目录