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

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

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

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
相关问题
是否支持非对称加密三方
547浏览 • 1回复 待解决
api9不支持三方包吗?
1391浏览 • 1回复 待解决
是否支持使用第三方webview内核
403浏览 • 1回复 待解决
HarmonyOS支持三方列表
528浏览 • 1回复 待解决
ArkTS不支持使用第三方js
2336浏览 • 1回复 待解决
Native工程如何使用其他三方so
805浏览 • 1回复 待解决
反射是否支持调用Reflect编译错误
514浏览 • 1回复 待解决
如何获取可用三方
575浏览 • 1回复 待解决
实现弹幕功能三方
517浏览 • 1回复 待解决
ArkTS API 9 Stage 如何引用第三方字体?
1925浏览 • 1回复 待解决
有图片加载三方么?
557浏览 • 1回复 待解决
httpclient三方代理请求关闭问题
594浏览 • 1回复 待解决
三方怎么装鸿蒙系统?
925浏览 • 1回复 待解决
三方中心仓reflect-metadata问题
566浏览 • 1回复 待解决