相关问题
AOP对方法做执行前插桩、执行后插桩、替换方法
668浏览 • 1回复 待解决
如何使用AOP接口实现重复插桩或替换?
549浏览 • 1回复 待解决
运行时AOP插桩demo测试
862浏览 • 1回复 待解决
如何使用AOP接口对系统接口进行插桩或替换?
517浏览 • 1回复 待解决
HarmonyOS 如何做行为统计插桩
252浏览 • 1回复 待解决
ArkGraphics 2D都有哪些使用场景?
410浏览 • 1回复 待解决
如何对异步方法进行插桩/替换
589浏览 • 1回复 待解决
如何对namespace中的函数插桩或替换?
729浏览 • 1回复 待解决
HarmonyOS IDE能否监听到State状态变量是在什么地方修改的,类似代码插桩能力
207浏览 • 1回复 待解决
是否支持对页面等ArkUI组件相关元素进行插桩?
626浏览 • 1回复 待解决
#鸿蒙学习大百科#Ability Kit都有哪些使用场景?
183浏览 • 1回复 待解决
消息推送都有哪些方式?
232浏览 • 1回复 待解决
混淆策略配置都有哪些?
323浏览 • 1回复 待解决
触发onWillScroll的条件都有哪些?
505浏览 • 1回复 待解决
OB支持的索引类型都有哪些?
5794浏览 • 1回复 待解决
DevEco Studio 2.1.0代码跟踪不到源码,都是桩代码
8458浏览 • 1回复 待解决
Node-API的组成架构都有哪些?
249浏览 • 1回复 待解决
LLVM兼容范围都有哪些版本
194浏览 • 1回复 待解决
基于mysql的悲观锁的运用场景?
2543浏览 • 1回复 待解决
创建PolarDB实例都有哪些系列可以选择?
2588浏览 • 1回复 待解决
sql调优在工作中都有哪些?
2249浏览 • 1回复 待解决
在哪些场景使用MongoDB?
3387浏览 • 1回复 待解决
UIAbility的常用方法都有哪些?都起到什么作用?
426浏览 • 1回复 待解决
xml文件数据解析 ,都有哪些步骤?
671浏览 • 1回复 待解决
他都有哪些使用方式?
314浏览 • 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实现。