0
私が知りたかったのは、アンドロイドにC/C++コードが書かれているアプリケーションがあるとします。このコードを実行すると、ネイティブのCライブラリが必要になります。 DVMはこれらのライブラリとどのように通信しますか?ライブラリからリソースを取得するためにBinderを使用していますか?このコード部分はJVMで実行されません。これがどこに実行されていない場合、どのように?また、JVMとネイティブライブラリの間にリンクがありますか?JVMとネイティブライブラリ間の通信
ありがとう、私は今それを得ることができます。もう一つ。 JNIはJVMの権利で使用されていますか?アンドロイドでDalvik VMに使用されているものと同じものは何ですか?どのネイティブライブラリをメモリにロードするかはどのように決定されますか?私が知る限り、DVMコアでは、プログラムを実行している間にlibsが読み込まれます。 –
Dalvik VMはJNIも実装しています。 Javaクラスは、System.loadLibrary(name)を呼び出してVMに.soをロードするように要求することがあります。 – pinxue