gpt4 book ai didi

android - 使用 JNI 将 android (Java) 链接到 chromium (cpp)

转载 作者:太空狗 更新时间:2023-10-29 12:43:17 27 4
gpt4 key购买 nike

出于研究目的,我正在尝试修改 android 上的 chromium。

Chromium 带有一个 ContentViewCore.java class .此类调用 native 函数:

nativeEvaluateJavaScript(mNativeContentViewCore, script, null, true);

这个方法在同一个类中定义如下:

private native void nativeEvaluateJavaScript(long nativeContentViewCoreImpl,
String script, JavaScriptCallback callback, boolean startRenderer);

该类具有以下注释:

@JNINamespace("content")

据我了解,JNI Generator将这些方法链接到正确类的正确 native (c++) 方法。

我的问题: ContentViewCore.java 链接到哪个类?在哪里可以找到 nativeEvaluateJavaScript 的实现?一个特定的java类链接到一个特定的c++类是在哪里定义的?

我唯一能找到的是 content_view_core.h (src/content/public/browser/android),但该文件无法让我进一步了解。谷歌搜索“nativeEvaluateJavaScript”没有显示任何内容。我已经搜索了大约 10 个小时,但我没有更接近。

最佳答案

在构建期间,JNI 生成器将在“(SHARED_INTERMEDIATE_DIR)/<(jni_gen_package)/jni/”下生成 JNI 绑定(bind)文件。

例如ContentViewCore.java对应的JNI绑定(bind)文件是“out/Debug/gen/content/jni/ContentViewCore_jni.h”。你可以看到'nativeEvaluateJavaScript'的本地方法:

static void EvaluateJavaScript(JNIEnv* env, jobject jcaller,...

关于android - 使用 JNI 将 android (Java) 链接到 chromium (cpp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22148806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com