我不知道LD_PRELOAD現在是否支持更新的Android版本?Android 4.2 - 是否支持LD_PRELOAD?
在4.0 ICS的時候不是,並在文檔中(NDK文檔/ SYSTEM-ISSUES.html)仍然有:
No support for LD_LIBRARY_PATH, LD_PRELOAD, RTLD_LOCAL and many other options.
但是前幾天我用我的Android LD_LIBRARY_PATH 4.2 Galaxy Nexus和它的工作(!)。
在此先感謝!
我記得讓那些工作之一,但人們不禁要問,你打算用它做什麼 - 正常的Android操作過程中,執行exec()是不是真的使用,所以有這樣的背景沒有太多機會產生效果。如果您想明確知道,請檢查源代碼,在鏈接器二進制文件上運行字符串,或者測試它。 –
我從來沒有使用LD_PRELOAD,但它不知道我是否可以在android中做這樣的事情:http://www.linuxjournal.com/article/7795 –
但是用它做什麼?如果您正在處理正確的Android代碼,那麼您將會將jni庫加載到現有的進程中,在這種情況下,您可以首先使用替換函數加載庫 - 但要注意,大多數系統庫都是預加載的在你寫的第一行代碼運行之前。鏈接器預加載變量實際應用的情況是,如果您實際執行二進制文件 - 在unix傳統中操作比android更多。 –