记录:
在android 7上尝试全局hook某些系统函数会崩溃,
定位原因:LoadedApk类的setupJitProfileSupport方法在应用启动后会,开启一个线程对profile进行更新。 profile存储了方法的热度,以指导 dex2oat 进程编译高热度方法。
原因
详细原因查看系统源码RunProfileSaverThread,调用过程:
profile_saver.cc
然后向上查找调用过程。
解决方案
在handleLoadPackage接口中,直接hook setupJitProfileSupport方法阻止其执行即可。
XposedHelpers.findAndHookMethod(LoadedApk.class, "setupJitProfileSupport", new