1

Android のカーネルを掘り下げて、カーネル レベルでの Binder の実行方法と、Java の API の実装で Binder がどのように使用されているかを調べています。

現在、私はandroid/os/Parcel.javaを見ています。次のようなプロトタイプとして宣言された多くのネイティブ関数があります。

public final native int dataSize();
public final native int dataAvail();
...

しかし、ないSystem.loadLibraryので、それらのプロトタイプの実装がどこに書かれているのかわかりません。

私の質問はこれらとは異なります:

4

1 に答える 1

1

ライブラリは、ネイティブ ライブラリを使用するクラスによって読み込まれる必要はありません。どこかのライブラリには、C 関数が必要Java_android_os_Parcel_dataSize()です。それがどこにあるかは関係ありません。ただどこかにある必要があります。grepあなたはそれを見つけるために使用できるはずです。

于 2013-03-18T04:02:25.040 に答える