作者:欢颜是胖妞妞08 | 来源:互联网 | 2023-05-19 07:35
在android应用开发中使用WebView,当一个webveiw被创建时,也会去load他所对应的动态库,这里动态库也就是传说中的webkit内核等。C++层与java层的交互也是
在android 应用开发中使用WebView,当一个webveiw 被创建时, 也会去load 他所对应的动态库,这里动态库也就是传说中的webkit 内核等。
C++ 层与java 层的交互也是通过jni 来完成。
android java 层的webkit 代码在 jb-mstar-master\frameworks\base\core\java\android\webkit 目录下面
C++ 层代码在 jb-mstar-master\external\webkit 下面
当然Google js引擎v8 也在jb-mstar-master\external下面。
1, WebViewCore.java中 System.loadLibrary
2,接下来webkit内核将被加载。 首先执行WebCoreJniOnLoad.cpp 中JNI_OnLoad
JNI_OnLoad中将初始化jni对应的接口,将C++ ,与java连接起来。
当然我们也可以在这里面扩展我们自己的jni。