linker作为动态库加载的主角,经常调试。例如分析为啥so库打不开啊,就经常需要一步步分析
一.linker自带的log格式如下
LD_LOG(kLogDlopen,
"... dlopen successful: realpath=\"%s\", soname=\"%s\", handle=%p",
si->get_realpath(), si->get_soname(), handle);
二.linker的源码路径
/bionic/linker/
三.linker的编译
直接 mm /bionic/linker/即可,编译完成后把linker和linker64 推到system/bin,再chmod 777 即可,可能要进recovery模式去修改。
四.开启linker的log
setprop debug.ld.app.com.android.browser dlopen,dlerror 表示开启chrome的log
setprop debug.ld.all dlopen,dlerror 表示开启所有应用的log