在android构建中未找到本机库?

在android构建中未找到本机库?,android,c,unity3d,Android,C,Unity3d,我遇到以下错误:无法查找的库路径,当我在android上运行我的应用程序时,本机渲染插件支持被禁用。我认为我构建的共享库不正确 我正在寻找从中构建源文件。我会说我的构建过程,也许有人能发现我遗漏的一个步骤或做得不正确 接下来,我想到了这个: Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libhydrogen LOCAL_SRC_FILES := ..\hydrogen.c i

我遇到以下错误:
无法查找的库路径,当我在android上运行我的应用程序时,本机渲染插件支持被禁用。我认为我构建的共享库不正确

我正在寻找从中构建源文件。我会说我的构建过程,也许有人能发现我遗漏的一个步骤或做得不正确

接下来,我想到了这个:

Android.mk

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

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

include $(BUILD_SHARED_LIBRARY)
APP_PLATFORM := android-16
APP_OPTIM := release
APP_MODULES := libhydrogen
应用程序.mk

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

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

include $(BUILD_SHARED_LIBRARY)
APP_PLATFORM := android-16
APP_OPTIM := release
APP_MODULES := libhydrogen
接下来我:

  • 将这些文件放在
    jni
    文件夹中
  • 调用了
    ndk build
  • \libs
    文件夹中复制
    .so
    文件,并将它们放在Unity中各自的文件夹中(即
    Hydrogen\Plugins\Android\arm64-v8a
  • 确保他们的平台和CPU架构是正确的
  • 构建我的应用程序
  • 是我正在使用的c#包装器。 调用
    Hydrogen.Library.Initialize()然后给我这个错误。
    是与此错误相关的完整日志

    如果我的构建过程是正确的,
    。那么
    文件就可以了;还有什么可能导致这种情况发生


    编辑:我正在尝试为
    armeabi-v7a
    和'x86'构建。文件的详细信息,可能有不正确的地方?我不熟悉c,因为我没有听说有人为android构建这个库,我想知道:c源文件中是否有任何东西与NDK构建过程不兼容?

    本机库是由系统的本机链接器加载的,在您的例子中是linux动态链接器:
    ld.so
    (它有时会更改名称,因此我使用了该名称,因为您可以使用该名称查看文档中的手册页)

    要实现这一点,通常需要为java虚拟机提供一个
    LD\u LIBRARY\u PATH
    环境变量,以便它可以有效地
    dlopen(3)
    it


    想想你的开发系统与目标系统有多大的不同……你很容易就能做到这一点。

    这是Unity的一个bug!由于某种原因,在切换项目的目标平台时,我的一些文件会被损坏。奇怪的是,这似乎只发生在这个项目中,但无论如何(临时的)解决方案是在我切换平台时重新导入插件文件夹。

    你的unity版本是什么?@0xBFE1A8
    2019.1.0b2
    脚本后端?Mono不支持x64。请尝试使用带有Mono脚本后端的armeabi-v7a体系结构进行编译。嗨,除非我误解了,否则我不认为这是导致我问题的原因,因为我有其他解决方案插件在同一台设备上可以很好地导入。