是否支持通过反射/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"); 
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

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

分享
微博
QQ
微信
回复
2024-05-31 21:38:02


相关问题
是否支持非对称加密三方
2008浏览 • 1回复 待解决
api9不支持三方包吗?
4046浏览 • 1回复 待解决
HarmonyOS 三方ImageKnife接口调用
1045浏览 • 1回复 待解决
HarmonyOS flutter三方支持问题
919浏览 • 1回复 待解决
HarmonyOS NAPI调用三方C咨询
767浏览 • 1回复 待解决
HarmonyOS mqtt是否有专门三方
1283浏览 • 1回复 待解决
工程三方怎么clear ?
941浏览 • 1回复 待解决
HarmonyOS 三方是否可以离线开发?
819浏览 • 1回复 待解决
HarmonyOS支持三方列表
2443浏览 • 1回复 待解决