有时候Android开发需要nm出libart.so的symbol,10.0以下的话直接在/system/lib下直接拿就可以了;10.0以后,Android把libart.so放到了apex里面,需要用adb pull导出。这里为了方便直接贴出来,有需要就拿:
另外多说一句因为从7.0开始,Android对native api的函数库做了限制,以前常用的hook手段dlopen/dlsym受到了限制。目前替代方案一个是用fake-dlopen;另一种是使用native层Runtime的ClassLoader加载so,但是第二种的话因为classloader不一致会导致我们自己的native方法没办法调过去,只能在一定层面上解决部分问题。