gpt4 book ai didi

java - 无法加载(找到)j2v8_android_x86 库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:03 30 4
gpt4 key购买 nike

我有一个使用 j2v8_android 2.2.1 的 gradle 项目库(它为 V8 JS 引擎提供 Java 绑定(bind) - android 端口)。不幸的是,在执行项目后(构建成功且没有问题),我收到与缺少 j2v8_android_x86 库文件相关的异常。尝试创建 V8 运行时时出现问题:

V8 runtime = V8.createV8Runtime();

异常本身是:

Caused by: java.lang.IllegalStateException: J2V8 native library not loaded.
at com.eclipsesource.v8.V8.checkNativeLibraryLoaded(V8.java:86)
at com.eclipsesource.v8.V8.createV8Runtime(V8.java:74)
at com.eclipsesource.v8.V8.createV8Runtime(V8.java:63)
(...)
Caused by: java.lang.UnsatisfiedLinkError: Could not load J2V8 library. Reasons:
Couldn't load j2v8_android_x86 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.androidscripting.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.androidscripting.app-1, /vendor/lib, /system/lib, /system/lib/arm]]]: findLibrary returned null
at com.eclipsesource.v8.LibraryLoader.loadLibrary(LibraryLoader.java:71)
at com.eclipsesource.v8.V8.load(V8.java:49)
at com.eclipsesource.v8.V8.createV8Runtime(V8.java:72)
... 17 more

当我调查 apk 时,我在 apk 的根目录下看到两个库文件(libj2v8_android_armv7l.solibj2v8_android_x86.so)。如果我理解正确,那些文件的名称和位置是正确的,它们应该被解析。

该应用程序由 Gradle 2.2.1(在 Oracle JVM 1.8.0_45 上)编译打包,与 Android SDK 19 兼容(与语言级别支持 1.7) 并在运行 Android 4.4.2Hudl2 上执行。

最佳答案

在与我的大学交流后,我们找到了解决方案。路径类加载器实际上并不在 apk 的根下查找 - 而是在 libs/[ARCHITECTURE] 中查找。将 libj2v8_android_x86.so 文件移动到 libs/x86 并重新打包确实解决了问题。

我想 maven 模块可能是为旧版本打包的,因此在构建时没有将它们复制到正确的目录中——或者可能只是配置错误。

关于java - 无法加载(找到)j2v8_android_x86 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30892485/

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