1

我正在深入研究 Android 的内核,以了解 Binder 在内核级别完成的方式以及它如何用于实现 Java 的 API。

目前我正在查看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 回答