• Unity中的两种ScriptingBackend


    一:前言


    二:两种模式的介绍

    ios:unity只有il2cpp模式的编译才支持64位系统,mono是不支持的,在快速开发阶段仍然支持Mono,但是不能再向Apple提交Mono(32位)的应用
    苹果在2016年1月就要求所有新上架游戏必须支持64位架构,所以必须要选il2cpp
    android:从2019年8月1日起,在Google Play上发布app必须支持64位体系。从2021年8月1日起,Google Play将停掉尚未支持64位体系的APP,在国内上架32位和64位都可以
    WebGL和UWP:只支持IL2CPP

    Mono和IL2CPP:浅谈Unity与.Net、Mono、IL2CPP

    ——Mono
    Mono打包后会生成一堆dll,项目中的代码就包含在这些dll中。在运行程序时,会把它们都加载到Mono虚拟机中


    ——IL2CPP
    使用IL2CPP方式打出的包是没有dll的,它将Mono虚拟机和Assembly-CSharp.dll动态链接库整合在了一起,放在了libil2cpp.so文件里

    如果都没有被加密,用Mono打包的Unity游戏可以用assembly-csharp.dll文件反编译看到源代码。用IL2cpp打包的unity游戏却只能用il2cppdump运行libil2cpp.so和global-metadata.dat来模拟取得 dll,但是这个dll只有函数名和偏移地址


    三:总结 

    建议使用IL2CPP的模式出包,但是因为IL2CPP比Mono多了一个转换代码为C++的过程,所以打包过程会很慢,可以在开发阶段使用Mono,出包时使用IL2CPP

  • 相关阅读:
    线性表-顺序表学习笔记(基础)
    python打包原理
    Python 从字典构造多叉树
    【JAVA】关于抽象类的概念
    干货 Flops Mutli-adds MACs
    算法笔记(二)
    DNSLog注入
    图的邻接矩阵创建
    Linux多线程
    机器学习概论
  • 原文地址:https://blog.csdn.net/LLLLL__/article/details/133210507