HarmonyOS namespace 的方法 可以用 现在AOP的方法 addbefore. replace之类的吗?

namespace的方法可以用现在AOP的方法 addbefore.replace之类的吗?对系统namespace下的API做AOP,需要对某些隐私API 的调用做监控,必要的时候 还需要拦截这些调用。

HarmonyOS
2024-08-27 10:18:11
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可以对ts文件中的namespace中的函数进行插桩或替换。注意:由于ArkTS不支持将namespace作为对象使用(ArkTS-no-ns-as-obj),因此不支持使用提供的接口对ArkTS的namespace的函数进行插桩/替换的操作。

参考代码:

// AOPNamespace.ts 
import { util } from '@kit.ArkTS'; 
export namespace MySpace { 
  export function foo() { 
    console.log("execute foo"); 
  } 
} 
export function fun() { 
  util.Aspect.addBefore(MySpace, "foo", true, 
    () => {  // namespace的场景, isStatic参数必须是true 
      console.log("execute before"); 
    }); 
} 
// Index.ets 
import { fun, MySpace} from './AOPNamespace' 
MySpace.foo() 
fun() 
MySpace.foo()
分享
微博
QQ
微信
回复
2024-08-27 18:48:04
相关问题
HarmonyOS aop namespace报错
814浏览 • 1回复 待解决
HarmonyOS 可以用仓颉开发HarmonyOS
1266浏览 • 1回复 待解决
可以用Java来开发鸿蒙应用
735浏览 • 2回复 已解决
可以用JS来开发鸿蒙应用
826浏览 • 1回复 已解决
可以用仓颉来开发鸿蒙应用
729浏览 • 1回复 已解决
HarmonyOS 关于AOP具体使用方法
1650浏览 • 1回复 待解决
DevEco Studio 可以用 安卓手机调试
6615浏览 • 1回复 待解决
可以用JS UI组件来做进度展示
6850浏览 • 1回复 待解决
dev studio可以用C#或者C++开发?
4845浏览 • 1回复 待解决
HarmonyOS dataORM表字段可以用boolean
1033浏览 • 1回复 待解决
c++侧可以直接调用tsstatic方法
3428浏览 • 1回复 待解决