3

LD_PRELOAD が新しい Android バージョンでサポートされるようになったのだろうか?

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 を使用しましたが、うまくいきました (!)。

前もって感謝します!

4

2 に答える 2

6

公式の NDK-r9d ドキュメントにはまだ同じことが書かれていますが、ルート化されたデバイスで LD_PRELOAD が機能することがわかりました。走る

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/

于 2014-06-05T18:30:55.217 に答える
0

一般的に言って、LD_LIBRARY_PATHかなり長い間エンジニアリングビルド(別名root化されたデバイス)に取り組んできました。問題は、これが本番ビルドに役立たないことです。ローダーが変更されたためではなく、アプリの環境が保護されているためです。

于 2013-01-20T16:29:11.313 に答える