0

我在我的 android 应用程序中使用 libstandalonelibwebviewchromium.so,当我调用本机方法时,它会抛出 "java.lang.UnsatisfiedLinkError: No implementation" 。我调查了这个问题,发现库中的函数名称不同。我使用“nm -gD libstandalonelibwebviewchromium.so”命令列出所有方法。例如 :

方法“org_chromium_base_library_1loader_LibraryLoader_registerNonMainDexJni”更改为“Java_J_N_MIOj213u”。

如何在构建时配置 chromium 以保留原始库方法名称?

请帮忙....

谢谢你,

阿维舍克纳特

////////////////////////////////// 编辑 /////////////// /////////////////

对于 Android Chromium 源结帐,我遵循了以下链接: https ://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md

  1. 我已经从 github 签出了适用于 Android 的 Chromium 源代码。
  2. 然后我在 ubuntu 系统中运行这些命令
    $ gclient sync
    $ gn gen --args='target_os="android" target_cpu="arm" is_debug=false' out/Default
    $ ninja -C out/Default webview_instrumentation_apk
  3. 执行这些命令后,在 out/Default 文件夹中生成“ libstandalonelibwebviewchromium.so ”。

我在我的项目中使用了libstandalonelibwebviewchromium.so并将其保存在 jniLibs 文件夹中。

我还运行了这个"nm -gD libstandalonelibwebviewchromium.so"命令,它给出了一个符号列表,但它们都像"Java_J_N_MIOj213u"

4

0 回答 0