Android 4.2 - 是否支持 LD_PRELOAD?

标签 android android-ndk android-4.2-jelly-bean ld-preload

我想知道更新的 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/

相关文章:

java - SMS Intent 不会仅在 oneplus 手机中填充收件人

android - Gradle NDK 在生成的 Android.mk 中指定 'include' 指令

android - NDK-BUILD 未被识别为命令 (Windows)

android - 如何通过框架API或任何其他有效方法查找VPN连接状态?

android - JellyBean 布局崩溃

java - 从 Android 版谷歌地图 api 获取交通数据

android - ConstaintLayout 内的 DrawerLayout - java.lang.IllegalArgumentException : DrawerLayout must be measured with MeasureSpec. 完全正确

android - PhoneGap 根据通知内容打开页面

android - 无法在 nexus 4 android 4.2.2 的 webview 中输入文本

android - 我们可以在 Android 应用程序中使用 Flash 内容吗?