相关问题
AOP对方法做执行前插桩、执行后插桩、替换方法
802浏览 • 1回复 待解决
运行时AOP插桩demo测试
990浏览 • 1回复 待解决
如何使用AOP接口实现重复插桩或替换?
657浏览 • 1回复 待解决
如何使用AOP接口对系统接口进行插桩或替换?
585浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在应用代码中插桩以采集性能数据?
82浏览 • 1回复 待解决
如何对异步方法进行插桩/替换
680浏览 • 1回复 待解决
HarmonyOS 如何做行为统计插桩
346浏览 • 1回复 待解决
如何对namespace中的函数插桩或替换?
824浏览 • 1回复 待解决
ArkGraphics 2D都有哪些使用场景?
608浏览 • 1回复 待解决
HarmonyOS IDE能否监听到State状态变量是在什么地方修改的,类似代码插桩能力
307浏览 • 1回复 待解决
是否支持对页面等ArkUI组件相关元素进行插桩?
735浏览 • 1回复 待解决
#鸿蒙学习大百科#Ability Kit都有哪些使用场景?
316浏览 • 1回复 待解决
触发onWillScroll的条件都有哪些?
683浏览 • 1回复 待解决
DevEco Studio 2.1.0代码跟踪不到源码,都是桩代码
8581浏览 • 1回复 待解决
消息推送都有哪些方式?
316浏览 • 1回复 待解决
混淆策略配置都有哪些?
492浏览 • 1回复 待解决
OB支持的索引类型都有哪些?
5890浏览 • 1回复 待解决
基于mysql的悲观锁的运用场景?
2626浏览 • 1回复 待解决
Node-API的组成架构都有哪些?
370浏览 • 1回复 待解决
HarmonyOS 运行时AOP方案,多线程场景如何处理?
140浏览 • 1回复 待解决
LLVM兼容范围都有哪些版本
283浏览 • 1回复 待解决
创建PolarDB实例都有哪些系列可以选择?
2643浏览 • 1回复 待解决
基于Code Linter实现代码检查
465浏览 • 1回复 待解决
UIAbility的常用方法都有哪些?都起到什么作用?
575浏览 • 1回复 待解决
他都有哪些使用方式?
429浏览 • 1回复 待解决
场景一:统计自定义方法耗时及调用次数。
方案:通过Aspect.addBefore对自定义方法进行执行前插桩记录方法调用前时间、Aspect.addAfter对自定义方法进行执行后插桩记录执行后时间,以统计方法耗时及调用次数。
核心代码:
场景二:应用间跳转--获取目标应用包名。
方案:在EntryAbility的onCreate方法中对UIAbilityContext类的startAbility方法进行插桩,以获取Want参数的bundleName属性。此场景addAfter、addBefore都可完成,本例通过addAfter实现。
核心代码:
由于UIAbilityContext是系统提供的类且没有导出,无法直接import,因此可以通过EntryAbility的context成员(该成员是从UIAbility继承而来)获取UIAbilityContext类对象,然后在onCreate方法中完成插桩操作。
同理,可以采用相同的方法获取来源应用包名。例:对EntryAbility的onCreate方法进行插桩,当本应用被其他应用调用触发onCreate回调,以获取Want参数的bundleName属性。此场景addAfter、addBefore都可完成,本例通过addBefore实现。