问题标签 [il2cpp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - Unity WebGL Build 在早于 2018.1.4 的版本中失败
我正在尝试在 Unity 中构建一个 WebGL 项目,在 Windows 10 上运行。我尝试了空白项目,并尝试了几个不同的版本。坦率地说,我没有尝试过所有早于 2018.1.4 的版本,但我尝试了几个 2018、2019 和 2020 版本,但都没有运气,2018.1.4 是我能够构建的最后一个版本WebGL 开启。
我还在各种论坛上尝试了几十个修复程序。删除了 il2cpp_cache,删除了 webGL_cache,将项目移到了根目录,我已经为此工作了几个月。不同版本的错误是一致的,无论是全新的项目,还是在 2018.1.4 上成功构建的项目的更新版本。下面的堆栈。
错误 1
错误 2
错误 3
c# - Firebase 6.16.1 指定的强制转换无效 Unity
我在 Unity 中使用 Firebase 时遇到了一些问题。我正在使用 Unity 2020.2.0b5.3233 和 Firebase 应用和数据库 6.16.1。我以前没有这个错误,但现在出现了!我离开了 REST API,因为它没有数据库更改检测功能!我究竟做错了什么?
所以,这是我的代码:
这是我的错误:
和
android - Unity 在为 Android 构建时在运行时抛出 IL2CPP 构建错误?2018.4.5f1
我正在尝试构建一个项目以部署到 Play 商店,但在构建时遇到了可怕的 IL2CPP 错误。以下是错误,都与同一个文件 il2cppcore.dll 相关。任何帮助表示赞赏。
Unity 版本 2018.4.5f1
我有...
选中 Build App Bundle (Play Store) 框
添加了 NDK r16b 64 位路径。
安装了 Android Studio 和 sdk 工具,Unity 可以识别它们并成功使用 mono for x32 构建
通过 Android Studio 安装目标平台 API 22 并在播放器设置中进行设置。
在播放器设置中选中 ARMv7 和 ARMv64,未选中 x86
在设置中取消选中“Strip Engine Code”
当我第一次下载它并将 Unity 指向它的位置时,我不得不选择允许 clang++ 和 NDK 中的其他几个程序通过 Mac > System Prefs > Privacy & Security 运行。
错误 2:
c# - 由于 IL2CPP,Unity 无法构建
我为 New 3DS 制作了 Unity 存档,尝试自己使用它,即使我安装了 IL2CPP,它似乎也会出现这些错误 设置:Unity - 5.6.5f1(New3DS 密钥)构建 - New3DS Ram - 8GB CPU - I5
错误:
1:
2:
3:
4:
5:
6:
其次是:
Error building Player: 6 errors
请记住,我已经安装了 IL2CPP 并且将 New3DS 作为构建选项,我不知道该怎么做,我要添加一个屏幕截图以获得好的措施,请尝试帮助...
android - Unity Android Build 在 Mono 中工作,但由于未定义的引用、缺少库而在 IL2CPP 中失败
我正在尝试更新我们在 Google Play 商店中已存在多年的基于 ARToolkit5 的 Unity Android 应用程序。ARToolkit5 不再受支持,但我们仍然依赖于大约 4 年前构建的库。我的 Unity 版本是 2020.1.11f1。
我需要将应用程序升级到 Google App Bundle 并添加 64 位支持。所以第一步,我理解,是从 Mono 改为 IL2CPP 作为 Scripting Backend。32 位 Android ARMv7 应用程序在 Mono 中构建并且运行良好,但是当我实际上只进行一项更改时,即在项目设置下切换到 IL2CPP 作为脚本后端时,构建失败。我什至还没有尝试添加 ARM64 选项。
使用 IL2CPP 时,构建失败并出现BuilderFailedException
数百个Undefined References
...
我认为这说明的是链接器找不到列出的函数的定义,所有这些都来自一个 ARToolkit 库:libARWrapper.so
此库存在于 Unity 项目中:Assets/Plugins/Android/lib/armeabi-v7a/libARWrapper.so
.
在 Unity Inspector 中快速检查显示库导入设置似乎是正确的。
这似乎表明这个库将包含在 Android ARMv7 版本中,就是这样。而且我知道该库可以在 ARMv7 设备上运行和运行,并且使用 Mono 构建,所以我认为它只是以某种方式被排除在 IL2CPP 构建之外。
因此,总而言之,Mono 在其构建中包含 libARWrapper.so 库,但是当我为完全相同的项目切换到 IL2CPP 时,该库不包含在内,因此无法链接。有谁知道为什么会这样?谢谢!
android - 难以重复信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR),故障地址 0x8
我在 Unity3D Android 游戏中遇到问题。很难重复崩溃。有时会在 1 小时后发生,有时会在不同情况下每次玩 2 小时,我找不到任何原因。
我尝试了不同版本的 Unity:
- 2020.2.1f1
- 2019.3.12f1
还有 Mono 和 il2cpp 编译器。
谁能给我至少一个提示如何找到原因?
使用 addr2line 工具检查地址如下:
c# - Unity:为 IL2CPP 构建与 Mono 有何不同?
我在理解使用脚本后端 IL2CPP 构建与在 Unity 中使用脚本后端 Mono 构建有何不同时遇到了一些麻烦。我试图在互联网上告知自己,但找不到我的问题的正确答案。我知道一切是如何运作的,但我只是想知道我是否必须处理一些特殊的事情才能让 IL2CPP 与我的游戏正常工作?
我想知道几件事:
- 我是否必须更改我的代码或任何东西才能成功使用 IL2CPP,或者我可以切换到这个脚本后端并且一切都很好?我也可以来回切换吗?
- 如果就这么简单,那么如果 IL2CPP 性能更高且更难反编译,为什么它不是标准的呢?
- 我可能会在 Unity 中遇到 IL2CPP 的任何问题吗?
- 除了目标平台限制和其他小限制(链接在这里: https ://docs.unity3d.com/Manual/ScriptingRestrictions.html )之外,IL2CPP 是否有任何限制
如果有人可以帮助我更好地理解这一点,我会很高兴。我希望你不要介意所有这些问题。
unity3d - Unity IL2CPP 构建错误`DirectoryNotFoundException`
这是我在这里的第一个问题,我对开发真的很陌生。所以我希望我能得到帮助来解决这个我几天都无法解决的问题。当我尝试为 IL2CPP 构建时出现以下错误:
DirectoryNotFoundException:找不到路径“C:\Users\Public\Documents\Wondershare\CreatorTemp\tmp517a91d3.tmp”的一部分。System.IO.FileStream..ctor(System.String 路径、System.IO.FileMode 模式、System.IO.FileAccess 访问、System.IO.FileShare 共享、System.Int32 bufferSize、System.Boolean 匿名、System.IO.FileOptions options) (at <9577ac7a62ef43179789031239ba8798>:0) (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int ,bool,System.IO.FileOptions) System.IO.Path.GetTempFileName () (at <9577ac7a62ef43179789031239ba8798>:0) UnityEditor.MonoAssemblyStripping.GenerateLinkXmlToPreserveDerivedTypes (System.String libraryFolder, UnityEditor.RuntimeClassRegistry usedClasses) (at <49f464d93>18057e:0
仅当使用 IL2CPP 构建时才会出现此错误,并且即使在新项目中也会持续存在。在我将“facebook sdk for unity”添加到我的项目、解决依赖关系并更改系统变量之后,它开始发生。所以这是我到目前为止所尝试的:
-删除了 facebook sdk 并更改了一些相关的依赖项。- 删除了我添加的系统变量(https://answers.unity.com/questions/616484/open-ssl-not-found.html)。- 从电脑中删除了与 Wondershare 相关的文件夹。- 清除了我的用户中的 .gradle 文件夹。-删除了我项目中的库和临时文件夹。-重新安装了android的构建工具(与unity一起安装)。
我不确定我是否超越了某些东西,任何帮助将不胜感激。
c# - 我可以将 IL2CPP(C++ 中间语言)用于非 Unity 应用程序吗?
IL2CPP.exe是一个 Unity 实用程序,用于将 C# IL 代码转换为 C++。我的问题是:这个可执行文件可以在 Unity 游戏开发环境之外用作通用工具,将任何.NET 应用程序(不仅仅是游戏)转换为高性能的本机可执行文件吗?
虽然我确实知道一些C++,但能够用我熟悉和流利的语言(C#)编写各种程序肯定会很好......无论它们是音频/视频/音乐制作DAW还是操作系统级别的安全/取证工具或机器学习平台或任何其他资源密集型......并且知道它们将像直接用 C++ 编写的应用程序一样高效地运行。
android - IL2CPP:C++ 编译器配置“Release”使应用程序冻结
我在使用 IL2CPP 构建我的应用程序“VolarPro”时遇到了严重问题。
我的测试设置: Unity:2020.3.3f1 设备:Samsung Galaxy Tab S3 Tablet Android 版本:9
详细信息:我开发了一款针对安卓操作系统的模拟游戏。游戏逻辑在主线程上,模拟部分(ODE 求解器)在单独的线程上运行。
该应用程序现已准备就绪,应该会在 Google Play 商店中发布。由于 Google 的 64 位策略,我现在被迫使用 IL2CPP 而不是 Mono 来构建我的应用程序。
在我测试的所有设备上使用 Mono 构建时,应用程序运行良好。
使用 IL2CPP 构建应用程序有效(.apk + .obb 扩展文件,ARMv7+ARM64)。但是运行应用程序失败。
如果我将 C++ 编译器配置设置为“发布”,应用程序会启动,但会立即冻结/GUI 没有响应,但我可以听到背景声音播放。我现在可以弄清楚主线程在 Release 构建中冻结,而模拟线程继续正常运行。Logcat 显示的唯一错误是:
30958 30958 错误 Zygote isWhitelistProcess - 进程被列入白名单 30958 30958 错误 Zygote accessInfo : 1 30958 30958 错误 eering.VolarPro 未启动调试器,因为进程无法加载 jdwp 代理。
如果我将 C++ 编译器配置设置为“调试”,则应用程序启动并且 GUI 响应。到目前为止,一切都很好。但是,我发现执行速度非常慢,而且游戏物理行为与 Mono 构建非常奇怪。Logcat 不显示错误。
对于可能导致问题的原因或如何调试此问题,我真的很感激:
- 在仅在 IL2CPP 上显示的单独线程上进行模拟是否有任何陷阱?
- 会不会是我使用了与 IL2CPP 不兼容的 .NET 方法?
- 有哪些机制会导致发布版本冻结但调试版本不会冻结?
- 为什么使用 IL2CPP 和 Mono 的游戏物理感觉不同?
- 关于我应该尝试的构建设置的任何建议?(增量GC、代码剥离等)
- 有什么解决方法吗?例如,在 Android Studio 中进行最终构建?
所以我陷入了深深的绝望和迷茫之中。任何有关如何让我的应用程序运行的帮助将不胜感激!
谢谢你。