Unity Mone/IL2CPP 导致demo打包安装到AR设备运行失败

本文比较了Unity中Mono和IL2CPP的优缺点,提到IL2CPP是主流但可能导致兼容性问题。作者分享了使用OculusQuest和RealSenseD435i时遇到的错误,通过查阅资料找到使用Mono作为替代并解决问题的案例。结论强调项目配置对最终成果的影响和在资源包旧版本下修正错误的方法。
摘要由CSDN通过智能技术生成

Mono相比IL2CPP两种方式,前者出现较早,后者相对来说更快捷更方便,目前主流选用IL2CPP,但是也有一定的缺点,部分资源较老,使用IL2CPP会造成不兼容的情况。

以下面的unity资源商店demo举例:

基于标识显示模型demo资源包

使用IL2CPP进行编译就会失败导致逻辑进程断掉,进而导致应用卡死

报错内容显示为下方图例

打包应用在AR设备上之后出现下面错误

MarshalDirectiveException:Cannot marshal System.Double

查找大量资料后最终在下方链接找到了解决方案

Oculus Quest and RealSense D435i integration in Unity · Issue #4155 · IntelRealSense/librealsense · GitHubRequired Info Camera Model D435i Firmware Version 5.11.6.200 Operating System & Version Android Platform Oculus Quest SDK Version 2.22.0 Language C#/unity Unity Version 2019.1.4f1 Graphics API OpenGLES3 Scripting API Version .NET 4.x Seg...icon-default.png?t=N7T8https://github.com/IntelRealSense/librealsense/issues/4155

考虑使用Mono来进行编译处理,后续打包到设备,实现效果

修改尝试之后,问题解决

结论:unity项目配置会影响到最终成果,unity运行正常,如果打包安装出现问题可优先在项目设置进行排查,资源包版本较老的情况下,出现类似错误,都可尝试修改使用Mono。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值