gpt4 book ai didi

android - 在 Android 构建中找不到 native 库?

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:28 27 4
gpt4 key购买 nike

我收到此错误:无法查找库路径, native 渲染插件支持已禁用 当我在 android 上运行我的应用程序时。我认为我错误地构建了共享库。

我希望从 this repo 构建源文件。我会说出我的构建过程,也许有人可以发现我遗漏或做错的步骤。

在这个 guide 之后,我想到了这个:

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := libhydrogen
LOCAL_SRC_FILES := ..\hydrogen.c

include $(BUILD_SHARED_LIBRARY)

Application.mk

APP_PLATFORM := android-16
APP_OPTIM := release
APP_MODULES := libhydrogen

接下来我:

  1. 将这些文件放在 jni 文件夹中。
  2. 调用了 ndk-build
  3. 复制 \libs 文件夹中的 .so 文件,并将它们放在 Unity 中各自的文件夹中(即 Hydrogen\Plugins\Android\arm64-v8a ).
  4. 确保他们的平台和 CPU 架构是正确的。
  5. 构建了我的应用。

Here 是我正在使用的 c# 包装器。调用 Hydrogen.Library.Initialize(); 然后给我这个错误。 Here 是与此错误相关的完整 logcat。

如果我的构建过程是正确的,并且 .so 文件没问题;还有什么可能导致这种情况发生?

编辑:我正在尝试为 armeabi-v7a 和 `x86. Here 是 .so 文件的详细信息,也许那里有不对的地方?我不熟悉 c,因为我没有听说过有人为 android 构建这个库,我想知道:c 源文件中是否有任何与 NDK 构建过程不兼容的内容?

最佳答案

native 库由系统的 native 链接器加载,在您的情况下,是 linux 动态链接器:ld.so(它有时会更改名称,所以我使用了那个名称,您可以查看具有该名称的文档中的手册页)。

要做到这一点,一般来说,您需要为 java 虚拟机提供一个 LD_LIBRARY_PATH 环境变量,这样它才能有效地dlopen(3) 它。

想一想您的开发系统与您的目标系统有多么不同......您会很容易做到这一点。

关于android - 在 Android 构建中找不到 native 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55669064/

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