说明:可以使用安卓studio 开发出apk,jar,或者dex使用此方法加载模块,
注意:插件直接放到插件文件夹中然后上传到手机
英文方法: loadDex(plugin),加载插件到系统
参数:
plugin:插件名称例如导入的插件为 p1.dex,则参数名就填写 loadPlugin(‘p1.dex’)
案例:
//导入dex模块
rhino.loadDex('p1.dex')
//导入apk模块
rhino.loadDex('demo.apk')
importClass 导入插件中的类
方法说明:通过这个方法可以导入插件里编写好的类
英文方法:importClass(class);
中文方法:导入类(类地址,类别名);
参数:
class:类地址 例如 com.autoapp.pluginsdemo.demo
案例:
//导入插件文件
rhino.loadDex('demo.apk')
//如果需要引用多个apk 需要加上类导入
rhino.loadClass("com.autoapp.pluginsdemo.demo")
//引用类
importClass(com.autoapp.pluginsdemo.demo);
var demo1=new demo();
printl(demo1.hello());
示例1:加载单个DEX模块并导入类
假设你有一个名为mathModule.dex
的模块,其中包含一个类com.autoapp.mathmodule.MathUtils
。
// 加载DEX模块
rhino.loadDex('mathModule.dex');
// 导入类
importClass(com.autoapp.mathmodule.MathUtils);
// 创建类实例并调用其方法
var mathUtils = new MathUtils();
printl(mathUtils.add(5, 3)); // 输出: 8
printl(mathUtils.subtract(5, 3)); // 输出: 2
示例2:加载单个APK模块并导入类
假设你有一个名为demoApp.apk
的模块,其中包含一个类com.autoapp.demoapp.DemoClass
。
// 加载APK模块
rhino.loadDex('demoApp.apk');
// 导入类
rhino.loadClass("com.autoapp.demoapp.DemoClass");
importClass(com.autoapp.demoapp.DemoClass);
// 创建类实例并调用其方法
var demoClass = new DemoClass();
printl(demoClass.getMessage()); // 输出: Hello from DemoClass
示例3:加载多个APK模块并导入类
假设你有两个APK模块,app1.apk
和app2.apk
,分别包含类com.autoapp.app1.App1Class
和com.autoapp.app2.App2Class
。
// 加载第一个APK模块
rhino.loadDex('app1.apk');
rhino.loadClass("com.autoapp.app1.App1Class");
importClass(com.autoapp.app1.App1Class);
// 创建第一个APK中的类实例并调用其方法
var app1Class = new App1Class();
printl(app1Class.getName()); // 输出: App1
// 加载第二个APK模块
rhino.loadDex('app2.apk');
rhino.loadClass("com.autoapp.app2.App2Class");
importClass(com.autoapp.app2.App2Class);
// 创建第二个APK中的类实例并调用其方法
var app2Class = new App2Class();
printl(app2Class.getName()); // 输出: App2
示例4:处理插件文件夹中的插件
假设你有一个插件文件夹,其中包含多个插件文件,如plugin1.dex
、plugin2.apk
等。
// 假设插件文件夹路径为 /sdcard/plugins/
// 加载第一个插件
rhino.loadDex('/sdcard/plugins/plugin1.dex');
importClass(com.autoapp.plugin1.Plugin1Class);
// 创建第一个插件中的类实例并调用其方法
var plugin1Class = new Plugin1Class();
printl(plugin1Class.getVersion()); // 输出: Version 1.0
// 加载第二个插件
rhino.loadDex('/sdcard/plugins/plugin2.apk');
rhino.loadClass("com.autoapp.plugin2.Plugin2Class");
importClass(com.autoapp.plugin2.Plugin2Class);
// 创建第二个插件中的类实例并调用其方法
var plugin2Class = new Plugin2Class();
printl(plugin2Class.getFeature()); // 输出: Feature 2
说明:
- 开发文件类型:可以使用Android Studio开发出APK、JAR或者DEX文件。这些文件可以作为模块被加载。
- 插件加载方式:将插件直接放到指定的插件文件夹中,然后上传到手机。
- 加载插件:使用
loadDex(plugin)
方法加载插件到系统。
- 参数:
plugin
为插件的名称,例如导入的插件文件为p1.dex
,则参数名填写为loadDex('p1.dex')
。 - 案例:
- 导入一个DEX模块:
rhino.loadDex('p1.dex')
- 导入一个APK模块:
rhino.loadDex('demo.apk')
- 导入插件中的类:使用
importClass(class)
方法导入插件里编写好的类。
class
:类地址,例如com.autoapp.pluginsdemo.demo
- 导入一个插件文件:
rhino.loadDex('demo.apk')
- 如果需要引用多个APK文件,需要逐个加载类文件:
rhino.loadClass("com.autoapp.pluginsdemo.demo")
- 引用类:
importClass(com.autoapp.pluginsdemo.demo)