1

System.loadLibrary()Android では、Java を使用してロードされたライブラリとネイティブコードを使用dlopen()してロードされたライブラリに違いはありますか? 動的にロードされたライブラリ内の関数を標準的な方法で直接呼び出すことはできますか?それとも、関数を取得して一連のスタブを作成する必要がありますか?JNIdlsym()

4

1 に答える 1

5

System.loadLibrary()Dalvik VM にdlopen()ライブラリをロードし、ネイティブ プロセスでライブラリをロードするだけです。Java からライブラリにアクセスする場合は、グルー JNI コードを記述する必要があります。それらをどのように実装するかは重要ではありません。直接リンクするかdlopen()、 などを使用できます。

于 2012-07-24T05:59:26.360 に答える