- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个依赖于两个预建共享库(A 和 B)的 Android 应用程序。这两个库都配置为使用 armeabi 和 armeabi-v7a 架构。
第一个预建库 A 是 libsodium。第二个预构建库 B 是一个依赖于 libsodium 的 Rust 库。编译 Rust 预构建库时,libsodium 用作依赖项。
现在,我想在我的 Android 应用程序中使用我的两个预构建库 A 和 B。使用 System.loadLibrary() 加载 A 工作得很好。但是当我加载B时,出现B找不到A中定义的方法的错误:
java.lang.UnsatisfiedLinkError:dlopen 失败:无法找到“libB.so”引用的符号“crypto_sign_ed25519_detached”...
我的Android.mk如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sodium
LOCAL_SRC_FILES := ../jniLibs/$(TARGET_ARCH_ABI)/libsodium.so
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/sodium.h $(LOCAL_PATH)/include/sodium/
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := rust
LOCAL_SRC_FILES := ../jniLibs/$(TARGET_ARCH_ABI)/librust.so
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/sodium.h $(LOCAL_PATH)/include/sodium/
LOCAL_SHARED_LIBRARIES := sodium
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := rust-manager
LOCAL_SRC_FILES := rust-manager.c
LOCAL_SHARED_LIBRARIES := rust sodium
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/ $(LOCAL_PATH)/include/sodium.h $(LOCAL_PATH)/include/sodium/
include $(BUILD_SHARED_LIBRARY)
rust-manager.c 文件是我使用 javah 生成的 C 包装器,它包含将我的 native Java 函数映射到 Rust 库的 C 函数,但我认为此时它可以忽略不计。任何帮助将不胜感激!
最佳答案
经过一天的工作,问题出在我使用的 libsodium 版本 (1.0.6) 上。我发现运行 ndk-build 时 undefined symbol 因使用的版本而异。使用 libsodium v1.0.3 解决了我的问题!
关于java - Android NDK : Two prebuilt shared libraries, 但其中一个依赖于另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923142/
我克隆了一个 Electron React Boilerplate repo 并在 main.js在代码中看到这个: if ( process.defaultApp ||/[\\/]electron-
我正在构建一个定制的 Android 系统 (JellyBean)。 我有一个项目(来自上游)包含一个 .tar 文件,该文件应在构建时解压,其内容应复制到生成的目录树中的某个位置。我应该如何构建 m
我有一个 Electron 应用程序,当单击其中一个按钮时,它会使用 Nightmare.js。它在打包之前工作正常,但在我使用 electro-packager 将其编译为 .exe 文件后,它将按
我使用 HTML、CSS 和 JS 制作了一个计算机应用程序,但是当我尝试使用 electron-packager 将该应用程序转换为 exe 文件时,它显示错误 Cannot find module
我正在尝试运行 expo opt-in-google-play-signing 但在我粘贴以下加密 key 后它会抛出错误: fatal error: too many errors emitted,
我正在编写一个基于 Electron 的应用程序并想使用 webchimera。但是,当我想安装(使用 npm)wcjs-prebuilt 包时,我总是会收到以下错误: 找不到与您的环境匹配的 Web
情况是这样的:我在 Gitlab CI(由 vue-cli 启动)中运行 Cypress 测试。为了加快执行速度,我构建了一个包含必要依赖项的 Docker 镜像。如何从预构建图像中缓存 node_m
我正在使用适用于 Android 的 Visual C++ 跨平台工具,如下所述:https://msdn.microsoft.com/en-us/library/dn707591.aspx 到目前为
我正在编写一个依赖于两个预建共享库(A 和 B)的 Android 应用程序。这两个库都配置为使用 armeabi 和 armeabi-v7a 架构。 第一个预建库 A 是 libsodium。第二个
我有一个项目使用 gnuSTL_static 作为 c++ 运行时,它在 Application.mk 中全局设置。 在项目中,我现在想包含一个来自第三方的预构建共享库,它实现了一些功能。为此,我使用
我正在移植 Box2D 以了解更多关于 android 移植的信息。 我可以编译项目并看到以下内容.... ls libs/ armeabi armeabi-v7a 现在我想做类似 this 的事情但
我正在尝试在 Electron (原子壳)中使用蓝牙串行端口 native 模块。我做了以下。 安装了 Electron 预建。 npm install electron-prebuilt -g np
我刚刚在我的开发机器(Ubuntu 17.10)上安装了 Gitlab Runner 进行测试。当我运行运行者时,我得到: $: sudo gitlab-runner exec docker test
我的项目应用程序依赖于库模块 alib。 app 和 alib 都使用 ndk 构建了一个 c++ 库。应用程序 C++ 库,称为 app.so,依赖于 alib.so,它是库模块的 C++ 库。在应
现在我正在尝试学习如何使用 electron 编写桌面应用程序,但是当我尝试在 Windows 10 x64 上使用 electron-prebuilt 和 nodejs x32 运行“npm sta
我目前正在使用 chartjs-node 生成一些图表。我的 node.js 代码在我的本地 (windows) 机器上运行完美,但我怀疑这是因为我安装了 windows-build-tools,其中
我遇到了错误 Android NDK: ERROR:src/main/jni/Android.mk:Cortex: The LOCAL_SRC_FILES for a prebuilt libra
我正在尝试通过教程学习 mean.js。 我已经安装了 node.js、npm、mongodb、grunt、bower、gulp 和 yeoman,没有任何错误。 当我尝试在终端(在 Mac OS 上
我正在尝试使用 Cygwin 和 Windows 7 在 Android 上编译 Ffmpeg。在使用一些教程为编译制作 .sh 文件时,我遇到了以下行的这两个选项。我是这个过程的新手,我正试图了解究
我的 Android 源代码库已经有两个 jar 文件 android-support-constraint-layout.jar 和 android-support-constraint-layou
我是一名优秀的程序员,十分优秀!