一些比较通用的脚本:
-
dump_view_tree.js: 从DecorView开始打印整棵View树,你可以在脚本里面的FIELDS变量里面加上你希望打印出来的属性,例如mPrivateFlags4、mSuppressLayout,这比adb dumpsys能够打印的东西更多。如果你没有指定需要打印的属性,那么就只会打印View本身的toString方法。获取出来的 view 树将以json的形式输出。 -
track_touch_events.js: 将从DecorView开始跟踪TouchEvent在View树中的传递。 -
track_measure_events.js: 将从DecorView开始跟踪measure以及onMeasure的传递。 -
track_layout_events.js: 将从DecorView开始跟踪layout以及onLayout的传递。 -
track_draw_events.js: 将从DecorView开始跟踪draw以及onDraw的传递。
电脑上安装 frida,并下载 frida-server 推送到手机上,运行 frida-server,然后推荐使用 vscode 来运行调试。具体网上有很多教程了,可以自行谷歌。
只有可以使用 root 用户权限的手机才可以运行。