插件化开发(Plugin Development)是一种软件开发模式,它将一个应用程序的功能拆分为模块,并允许在运行时动态加载、卸载和扩展这些模块,以增强应用程序的功能。冰狐支持动态加载和卸载第三方插件模块,开发者可以集成任何第三方功能,比如某某ocr等等,插件以apk形式提供。
一、插件开发规则
冰狐的开发插件要遵循一下规则:(注意:接口类指newObject函数参数对应的类,也就是和js交互的java类)
- 对外提供的接口类的构造函数不要带参数,如果需要初始化用单独的初始化函数,比如:init等。
- 若想传递json数组或者json对象,请使用json字符串(使用JSON.stringify转换)作为参数。
- 若接口类中返回数组和对象之类的,可以直接返回json字符串,然后在js中JSON.parse()来处理。
- 可以在接口类中直接返回java对象。
二、插件开发文档
冰狐的插件开发非常简单,只需要简单两步就可以了。
1.loadPlugin
全局函数,加载插件,返回Plugin对象
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | string | 必填 | 插件文件的全路径 |
2.Plugin对象
插件对象,注意不要多次加载同一个插件
参数:
函数名 | 参数 | 返回值 | 说明 |
---|---|---|---|
newObject | java类的全路径名 | Object | 创建对应的对象 |
三、实际调用例子
例子:
function main() {// 加载插件var plugin = loadPlugin('/sdcard/myPlugin.apk')// 创建插件中的对象var obj = plugin.newObject('com.example.dynamiccall.MyClass')// 调用对象中的方法var r = obj.getStr(rsContext);console.log('r:', r)
}
四、总结
冰狐的插件化开发是一种灵活且可扩展的软件开发模式,它允许开发人员根据需要动态地添加或删除功能,从而可以为自动化脚本开发者提供更多的可能性。