我想知道更新的 Android 版本现在是否支持 LD_PRELOAD?
在 4.0 ICS 的时候还没有,在文档 (NDK docs/SYSTEM-ISSUES.html) 中仍然有:
No support for LD_LIBRARY_PATH, LD_PRELOAD, RTLD_LOCAL and many other options.
但几天前我在我的 Android 4.2 Galaxy Nexus 上使用了 LD_LIBRARY_PATH 并且它有效(!)。
提前致谢!
最佳答案
虽然官方 NDK-r9d 文档仍然说同样的话,但事实证明 LD_PRELOAD 确实适用于 Root设备。 运行
adb shell
setprop wrap.com.xyz.yourapp LD_PRELOAD=/path/to/your/library.so
stop
start
将库推送到设备后。 我在 ANDROID-19 模拟器上成功地尝试了它以提供函数的替代定义。
查看此链接 - http://cedricvb.be/post/intercepting-android-native-library-calls/
关于Android 4.2 - 是否支持 LD_PRELOAD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426191/