【问题标题】:UnsatisfiedLinkError after building with il2cpp for x64 built in Unity使用 il2cpp for x64 在 Unity 中构建后出现 UnsatisfiedLinkError
【发布时间】:2019-10-31 18:51:35
【问题描述】:

我有一个使用 Unity 2018.4.2f1 构建的 Android Unity 项目,该项目非常适用于具有 armv4 架构的 Mono Scripting,但由于新的 Google 政策规定提供 arm64 架构 apk 以供上传,我转向使用 arm64 架构的 il2cpp。

构建成功,但运行项目后,我使用的插件之一似乎抛出

AndroidJavaException: java.lang.UnsatisfiedLinkError

我认为这与 il2cpp 或 arm64 架构更改有关,因为在此更改之前一切正常,有谁知道如何解决这个问题。

【问题讨论】:

  • 插件是否支持该架构?你在UnityPluginInspector中做了相应的设置吗?
  • 对不起,迟到的评论,我已经通过电子邮件发送了插件支持,但到目前为止还没有回复。我正在研究和搜索互联网,到目前为止,我发现 Android 正在我的插件中寻找 x64 文件夹,而插件没有。我正在寻找一种让 android 或 unity 绕过它的方法

标签: c# android unity3d build


【解决方案1】:

在这里和那里进行了一些研究并为此在互联网上花费了将近一天的时间后,我终于找到了解决此问题的方法,显然我对问题的 x64 部分的看法是正确的,这是由于 x64 架构而发生的

要绕过这个您需要将以下过滤器(abiFilters)添加到您的应用程序模块的 build.gradle 文件中。因此,当您的设备尝试运行您的应用程序时,它会检查 gradle 文件并了解它不应生成任何文件夹并使用现有的本机库资源

defaultConfig {
    ...

    ndk {
        abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
    }

}

就是这样,至少在我的项目中不需要其他任何东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-04
    • 2022-10-07
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 2020-05-09
    • 2021-03-01
    • 2020-02-13
    相关资源
    最近更新 更多