【问题标题】:Unity + ARCORE DllNotFoundException: arcore_unity_apiUnity + ARCORE DllNotFoundException:arcore_unity_api
【发布时间】:2018-05-29 07:15:55
【问题描述】:

我尝试运行 arcore 示例以实现统一,如下页所述:https://developers.google.com/ar/develop/unity/quickstart-android

但它不起作用。该应用程序启动并正在搜索飞机,但摄像头输入为黑色。在logcat中有如下异常:

DllNotFoundException: arcore_unity_api
    at (wrapper managed-to-native) GoogleARCoreInternal.ARPrestoCallbackManager/ExternApi:ArCoreUnity_setArPrestoInitialized (GoogleARCoreInternal.ARPrestoCallbackManager/EarlyUpdateCallback)
  at GoogleARCoreInternal.ARPrestoCallbackManager.InitializeIfNeeded () [0x00000] in <filename unknown>:0 
  at GoogleARCoreInternal.ARCoreAndroidLifecycleManager.CreateSession (GoogleARCore.ARCoreSession sessionComponent) [0x00000] in <filename unknown>:0 
  at GoogleARCore.ARCoreSession.Start () [0x00000] in <filename unknown>:0

我还尝试了简单的 android 示例,效果很好。什么可能是它不适用于统一的问题?

【问题讨论】:

  • 我遇到了同样的问题,Building on Unity 工作,但是导出项目,生成 AAR 并在新项目中导入该 AAR 并使用 UnityPlayerActivity 不显示相机图像,但显示按钮和添加的snackBar统一画布。在 LogCat 上遇到同样的错误。你解决了吗?

标签: arcore


【解决方案1】:

我迁移回 Unity 2018.x 到 2017.4.6f => 现在它可以工作了

【讨论】:

  • 2017.4.6f 中的 ARcore 是否允许 64 位构建?
【解决方案2】:

消息很清楚,Unity 找不到 ARCore dll。

如果您使用 Unity Assembly Definitions (这是一件好事),您需要验证是否正确引用了 ARCore dll。

我通过在我的“主”.asmdef 文件中对 ARCore 文件夹中的 .asmdef 文件进行引用来解决这个问题(dll 文件所在的位置)。 (在我的例子中,Unity 因某种奇怪的原因丢失了这个引用)

如果您没有使用 Assembly Definitions(这可能是开始的好时机),仔细检查您是否在项目中正确安装了 ARCore 以及是否启用了“ARCore 支持”可能会很有趣。

EDIT -> Project Settings (Android Tab) -> XR Settings,并勾选“ARCore Supported”复选框(见截图)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    相关资源
    最近更新 更多