gpt4 book ai didi

带有 Digimarc 的 Android Unity3d 和 VUForia。初始化失败!您的硬件不支持此应用程序

转载 作者:行者123 更新时间:2023-11-30 00:30:13 26 4
gpt4 key购买 nike

我正在开发一个 AR 应用程序,我在其中使用 Unity 和 VUForia 来运行 AR 场景。 Unity AR 部分是使用 Unity Plugins 开发的,我将这个插件与 Android Studio Project 集成在一起。 Android 项目也有使用 Digimarc SDK 来识别 SKU。现在的问题是,当我运行与 Digimarc 集成的完整项目时,我从 Unity 收到错误:初始化失败!你的硬件不支持。但如果我从项目中删除 Digimarc SDK,Unity 部分运行完美。

最佳答案

经过两天的研究,我找到了这个问题的根本原因和解决方案。

问题:

android 中有多种硬件架构,如“armeabi-v7a”、“arm64-v8a”和“x86”。大多数 Android 设备支持不止一种架构。当应用程序使用 native 库时,它会在相应文件夹(如 lib/armeabi-v7a/和 lib/arm64-v8a 等)中提供 native 库以支持体系结构。Android 设备的操作系统会在编译时检查提供的文件夹中的 native 库,并复制最兼容的文件夹并保留其他文件夹。在我的例子中,VUForia SDK 只为“armeabi-v7a”架构提供原生库,而 Digimarc SDK 为“armeabi-v7a”、“arm64-v8a”和“x86”提供原生库。现在,当我将 Unity+vuforia only 应用程序安装到设备时,因为它只有“armeabi-v7a”文件夹,设备会从此处复制库,并且应用程序可以正常运行。但是当我们安装同时集成了 unity+vuforia 和 Digimarc 的完整应用程序时,应用程序包确实包含所有 3 种架构的合并文件夹,但是 VuForia 库仅在“armeabi-v7a”文件夹中可用,其余 2 确实包含 digimarc 的只有库,他们没有 VUForia 的库。现在,复制“arm64-v8a”或“x86”库的设备将找不到 VUforia 所需的库,我们会在此类设备上看到硬件不受支持的错误。

解决方法:

首先,我尝试寻找“arm64-v8a”和“x86”的 VUForia 库,但找不到。然后我尝试从“armeabi-v7a”文件夹复制 VUforia 库并粘贴到“arm64-v8a”和“x86”文件夹中,但是当我尝试运行该应用程序时,它因提示提供的库不适用于而崩溃正确的架构。最后,我从 digimarc 的“dms.aar”文件中删除了“arm64-v8a”和“x86”文件夹,并将其重命名为“dms_armeabi-v7a_only.aar”,并将原来的“dms.aar”替换为“dms_armeabi-v7a_only.aar”在项目中我尝试在我有权访问的所有设备上运行该应用程序,该应用程序在 digimarc 和 Unity+Vuforia 页面上运行良好。

关于带有 Digimarc 的 Android Unity3d 和 VUForia。初始化失败!您的硬件不支持此应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44560249/

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