加载APK
from ascript.android import plug
AS 可以将一个APK文件导入,可以加载并执行APK文件中的类
- 函数
plug.load_apk(file_path:str)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
file_path | str | 是 | apk文件的绝对路径 |
- 返回值
dalvik.system.DexClassLoader<?> //class 对象.
拿到该对象,我们可以通过java 反射,创建类的实例,并运行其内部方法等等..
- 示例:
from java.lang import Class
from ascript.android import plug
# 加载apk,获取 DexClassLoader 对象
clazz_loader = plug.load_apk("sdcard/my.apk")
# 获取 Apk中的类
clazz = Class.forName("com.aojoy.apkplug.TestPlug", True, clazz_loader);
# 获取 获取公共(无参数)构造
constructor = clazz.getConstructor()
# 创建类的实例
instance = constructor.newInstance();
# 获取成员方法run
method = clazz.getMethod("run");
# 执行成员方法
method.invoke(instance);