是否支持通过反射/hook等手段调用系统API或三方库中的API?

是否支持通过反射/hook等手段调用系统API或三方库中的API?

HarmonyOS
2024-05-30 22:20:16
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
油炸帕尼尼

ArkTS/JS中要完成类似java中用forName和getDeclaredMethod访问类方法的操作,一般需要通过动态import和Reflect.get接口等方式,比如以下的例子:

// someLib 
export class MyClass implements Handler { 
  handle() { 
  } 
} 
 
// myCode.ets 
import("someLib").then((mod) => { 
  // 获取module导出的MyClass 
  let MyClassCtor = Reflect.get(mod, "MyClass") as ESObject; 
  // 创建实例 
  let myclass = new MyClassCtor() as Handler; 
  // 调用方法 
  myclass.handle(); 
}).catch((error) => { 
  console.log("failed to import someLib"); 
});

语言层面没有限制访问的是否为三方库或者系统API。动态import目前仅支持字符串常量作为参数,上述的方案不限制调用的是否是系统API或三方库。

分享
微博
QQ
微信
回复
2024-05-31 21:38:02
相关问题
是否支持非对称加密三方
1059浏览 • 1回复 待解决
api9不支持三方包吗?
3152浏览 • 1回复 待解决
HarmonyOS 三方ImageKnife接口调用
27浏览 • 1回复 待解决
HarmonyOS flutter三方支持问题
22浏览 • 1回复 待解决
HarmonyOS mqtt是否有专门三方
438浏览 • 1回复 待解决
工程三方怎么clear ?
222浏览 • 1回复 待解决
HarmonyOS支持三方列表
1511浏览 • 1回复 待解决
是否有开源三方数据使用?
267浏览 • 1回复 待解决