【发布时间】:2012-09-28 15:00:17
【问题描述】:
我read thatJNI函数(原生C部分)非常复杂,必须包含java包名。
但是,在阅读 Android webkit 源码时。例如WebView.java中的nativeMoveGeneration函数
private native int nativeMoveGeneration();
调用WebView.cpp中的JNI函数
static int nativeMoveGeneration(JNIEnv *env, jobject obj)
{
WebView* view = GET_NATIVE_VIEW(env, obj);
if (!view)
return 0;
return view->moveGeneration();
}
他的 JNI 函数不遵循命名规则。为什么会这样?
P/S:以上功能仅供演示。我正在阅读Android 4.0.3源码,所以可能和上面的github源码不同
更新 感谢@Alex Cohn 和JNI Tips,我知道我们可以使用 JNI_Onload 或使用复杂的名称。但是我们应该把 JNI_Onload 放在哪里呢?
【问题讨论】:
标签: android webview webkit java-native-interface