Unity报错Currently selected scripting backend (IL2CPP) is not installed

91 篇文章 5 订阅
30 篇文章 0 订阅

目录

什么是il2cpp

il2cpp换mono


Unity打包报错Currently selected scripting backend (IL2CPP) is not installed

什么是il2cpp

Unity 编辑器模式下是采用.net 虚拟机解释执行.net 代码,发布的时候有两种模式,一种是mono虚拟机模式,一种是il2cpp模式。由于iOS AppStore规定不允许使用虚拟机,所以发布到iOS,Unity采用了il2cpp技术,把IL(.net字节码) 的代码转成c++代码,然后再用xcode来进行编译。发布到Android的时候,可以用mono与il2cpp模式,il2cpp由于转成native code直接在硬件CPU上跑,性能要比虚拟机解释执行要高,所以发布Android的时候我们也采用il2cpp。但是开发者会遇到一些问题mono模式下能正常运行,编译il2cpp模式下会出现问题,如闪退等,本文将il2cpp 打包发布可能遇到的问题,进行分类,分析与总结,希望能给大家提供解决思路与方向。

作者:一个尘续缘 https://www.bilibili.com/read/cv28495845/?from=search&spm_id_from=333.337.0.0 出处:bilibili

il2cpp换mono

如果您不想使用IL2CPP作为Unity项目的脚本后端,可以选择使用Mono作为脚本后端。在Unity中,您可以通过以下步骤进行设置:

  1. 打开Unity编辑器,并打开您的项目。

  2. 转到 "Edit"࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity 中,可以使用 BuildPipeline.BuildPlayer 方法来实现一键打包。而编译 il2cpp 则需要使用 UnityIL2CPP 构建选项。 以下是一个简单的示例代码,演示了如何实现一键打包并编译 il2cpp: ```csharp using UnityEditor; using UnityEditor.Build.Reporting; using UnityEngine; public class BuildScript : MonoBehaviour { [MenuItem("Build/Build and Compile il2cpp")] public static void BuildAndCompile() { // 设置打包参数 string[] scenes = { "Assets/Scenes/MyScene.unity" }; string outputPath = "Builds/MyGame.exe"; BuildPlayerOptions buildOptions = new BuildPlayerOptions(); buildOptions.scenes = scenes; buildOptions.locationPathName = outputPath; buildOptions.target = BuildTarget.StandaloneWindows64; buildOptions.options = BuildOptions.None; // 打包 BuildReport buildReport = BuildPipeline.BuildPlayer(buildOptions); // 检查打包结果 if (buildReport.summary.result == BuildResult.Succeeded) { // 编译 il2cpp PlayerSettings.SetScriptingBackend(BuildTargetGroup.Standalone, ScriptingImplementation.IL2CPP); PlayerSettings.SetIl2CppCompilerConfiguration(BuildTargetGroup.Standalone, Il2CppCompilerConfiguration.Release); PlayerSettings.SetArchitecture(BuildTargetGroup.Standalone, 2); BuildPipeline.BuildPlayer(buildOptions); Debug.Log("Build and il2cpp compile succeeded!"); } else { Debug.LogError("Build failed!"); } } } ``` 在上面的代码中,我们在菜单栏中添加了一个 "Build/Build and Compile il2cpp" 的选项,当用户点击此选项时,会执行 BuildAndCompile 方法。该方法首先使用 BuildPipeline.BuildPlayer 方法进行打包,然后检查打包结果。如果打包成功,则设置编译 il2cpp 所需的参数,并再次调用 BuildPipeline.BuildPlayer 方法进行编译。 需要注意的是,IL2CPP 编译可能需要一定的时间,具体取决于项目的规模和复杂度。因此,建议用户在执行一键打包并编译 il2cpp 之前,先备份项目以防止意外情况发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值