国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity 使用 IL2CPP 發(fā)布項(xiàng)目

這篇具有很好參考價(jià)值的文章主要介紹了Unity 使用 IL2CPP 發(fā)布項(xiàng)目。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、為什么用 IL2CPP

Unity的IL2CPP(Intermediate Language to C++)是一個(gè)編譯技術(shù),它將C#代碼轉(zhuǎn)換為C++代碼,然后再編譯成平臺(tái)相關(guān)的二進(jìn)制代碼。IL2CPP提供了幾個(gè)優(yōu)點(diǎn),特別是在性能和跨平臺(tái)部署方面。以下是IL2CPP的一些主要優(yōu)點(diǎn):

1.性能提升:IL2CPP通常能提供比傳統(tǒng)的Mono運(yùn)行時(shí)更好的性能,因?yàn)樗梢岳帽镜鼐幾g器的優(yōu)化。

2.跨平臺(tái)支持:由于IL2CPP生成的是C++代碼,這使得它更容易被跨平臺(tái)的編譯器支持,因此你可以將游戲編譯到多個(gè)平臺(tái),包括iOS、Android、Windows、Mac、Linux和游戲主機(jī)。

3.安全性增強(qiáng):IL2CPP提供了比Mono更高級(jí)別的安全性,因?yàn)樗恍枰\(yùn)行一個(gè)易于逆向工程的中間語(yǔ)言虛擬機(jī)。C++代碼更難被反編譯,這使得逆向工程變得更加困難。

4.完全AOT編譯(Ahead-of-Time):IL2CPP完全支持AOT編譯,這意味著所有的代碼都在部署之前編譯好了,有利于實(shí)現(xiàn)更快的啟動(dòng)時(shí)間和更穩(wěn)定的運(yùn)行時(shí)性能,這在iOS等不允許JIT編譯的平臺(tái)上尤其重要。

5.內(nèi)存管理改進(jìn):IL2CPP使用了更現(xiàn)代的垃圾回收技術(shù),可以更高效地管理內(nèi)存,減少內(nèi)存泄露和碎片化問題。

6.64位支持:IL2CPP支持64位計(jì)算,這是許多現(xiàn)代設(shè)備和操作系統(tǒng)的要求。

7.與現(xiàn)代C++編譯器的兼容性:由于生成的是C++代碼,IL2CPP可以利用現(xiàn)代C++編譯器(如Clang和GCC)進(jìn)行進(jìn)一步的優(yōu)化。

8.可預(yù)測(cè)的性能:由于所有的代碼都在編譯時(shí)就已經(jīng)確定了,運(yùn)行時(shí)的性能比JIT(Just-In-Time)編譯更加可預(yù)測(cè),因?yàn)樗粫?huì)在用戶使用應(yīng)用程序時(shí)進(jìn)行編譯。

9.通用基礎(chǔ)設(shè)施:IL2CPP為Unity帶來(lái)了一個(gè)通用的代碼基礎(chǔ)設(shè)施,用于支持不斷增長(zhǎng)的平臺(tái)數(shù)量,簡(jiǎn)化了Unity的維護(hù)和新平臺(tái)支持的工作。

10.現(xiàn)代語(yǔ)言特性支持:IL2CPP更好地支持C#的新特性,因?yàn)樗軌蚴褂眯碌腃#編譯器,而舊的Mono運(yùn)行時(shí)可能不支持這些新特性。

盡管IL2CPP提供了許多優(yōu)點(diǎn),但它也有其限制,比如編譯時(shí)間往往比Mono更長(zhǎng),且生成的二進(jìn)制文件大小可能會(huì)更大。然而,對(duì)于尋求性能和兼容性的開發(fā)者來(lái)說(shuō),IL2CPP提供了一個(gè)強(qiáng)有力的解決方案。

二、環(huán)境搭建

在安裝 Unity 的時(shí)候,記得將 Windows Build Support(IL2CPP) 勾上,如果是發(fā)布 Linux 系統(tǒng),則用 Linux Build Support(IL2CPP)

unity il2cpp,Unity,unity

如果沒有安裝 IL2CPP,在發(fā)布界面這里會(huì)提示沒有安裝 IL2CPP,如下:

Currently selected scripting backend (IL2CPP) is not installed

另外還需要安裝 C++ 開發(fā)環(huán)境,否則不能發(fā)布項(xiàng)目,錯(cuò)誤如下:

unity il2cpp,Unity,unity

詳細(xì)錯(cuò)誤:

Internal build system error. BuildProgram exited with code 1.
error: Could not set up a toolchain for Architecture x64. Make sure you have the right build tools installed for il2cpp builds. Details:
IL2CPP C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
?* Visual Studio 2022 or newer with C++ compilers and Windows 10 (or newer) SDK (recommended)
?* Visual Studio 2019 with C++ compilers and Windows 10 (or newer) SDK
?* Visual Studio 2017 with C++ compilers and Windows 10 (or newer) SDK
?* Visual Studio 2015 with C++ compilers and Windows 10 (or newer) SDK

Visual Studio 2017 (or newer) is detected using `vswhere.exe` as well as VSCOMNTOOLS environment variables.
Visual Studio 2015 is detected by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry as well as VSCOMNTOOLS environment variables.
Windows 10 (or newer) SDK is detected by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry.

Unable to detect any compatible Visual Studio installation!
?* Found Visual Studio 2022 installation without C++ tool components


Unity.IL2CPP.Bee.BuildLogic.ToolchainNotFoundException: IL2CPP C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
?* Visual Studio 2022 or newer with C++ compilers and Windows 10 (or newer) SDK (recommended)
?* Visual Studio 2019 with C++ compilers and Windows 10 (or newer) SDK
?* Visual Studio 2017 with C++ compilers and Windows 10 (or newer) SDK
?* Visual Studio 2015 with C++ compilers and Windows 10 (or newer) SDK

Visual Studio 2017 (or newer) is detected using `vswhere.exe` as well as VSCOMNTOOLS environment variables.
Visual Studio 2015 is detected by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry as well as VSCOMNTOOLS environment variables.
Windows 10 (or newer) SDK is detected by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry.

Unable to detect any compatible Visual Studio installation!
?* Found Visual Studio 2022 installation without C++ tool components


? ?at Unity.IL2CPP.Bee.BuildLogic.WindowsDesktop.WindowsDesktopBuildLogic.UserAvailableToolchainFor(Architecture architecture, NPath toolChainPath, NPath sysRootPath, Boolean targetIsSimulator)
? ?at PlayerBuildProgramLibrary.PlayerBuildProgramBase.GetIl2CppToolChain(PlatformBuildLogic platform, Architecture architecture, NPath toolChainPath, NPath sysrootPath)
? ?at PlayerBuildProgramLibrary.PlayerBuildProgramBase.SetupIl2CppBuild()
? ?at PlayerBuildProgramLibrary.PlayerBuildProgramBase.<SetupPlayerBuild>b__94_0()
? ?at Bee.Core.TinyProfiler2Base.Section[T](String label, Func`1 func, Dictionary`2 metadata)
? ?at PlayerBuildProgramLibrary.PlayerBuildProgramBase.SetupPlayerBuild()
? ?at WinPlayerBuildProgram.WinPlayerBuildProgram.SetupPlayerBuild()
? ?at PlayerBuildProgramLibrary.PlayerBuildProgramBase.RunBuildProgram()
? ?at PlayerBuildProgramTypeWrapper.Run(String[] args)
? ?at Program.Main(String[] args)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
?

解決方法:

在 Visual Studio 2022 中,添加?C++ 環(huán)境,并勾選?Windows 10 SDK 安裝

unity il2cpp,Unity,unity

上面兩個(gè)條件安裝完成后,還需要在 Unity --> Player Settings 中進(jìn)行設(shè)置

在 Configuration --> Scripting Backend 這里選擇 IL2CPP?

unity il2cpp,Unity,unity

接下來(lái)就可以直接發(fā)布 PC 版的項(xiàng)目了,發(fā)布成功后,生成的文件和 Mono 不太一樣

unity il2cpp,Unity,unity

發(fā)布 Android 也不需要改多少配置,這里我只是將 ARMv7 換成了 ARM64,其他的設(shè)置就是默認(rèn)的。

unity il2cpp,Unity,unity

Android 打包是真的慢,一個(gè)空包差不多用了 20 分鐘,不過(guò)包小了很多,只有 10 M。

unity il2cpp,Unity,unity

end文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-860410.html

到了這里,關(guān)于Unity 使用 IL2CPP 發(fā)布項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一次Unity3D IL2CPP 打包錯(cuò)誤

    一次Unity3D IL2CPP 打包錯(cuò)誤

    目錄 一、錯(cuò)誤描述 二、問題分析 三、解決方法 四、效果驗(yàn)證 五、后記 采用IL2CPP生成的時(shí)候,出現(xiàn)了4個(gè)錯(cuò)誤: (1)Building LibraryBeeartifactsWinPlayerBuildProgramei6vjku08_i_vm6.lump.obj failed with output: (2)BuildFailedException: Incremental Player build failed! (3)Build completed with a result of ‘

    2024年02月03日
    瀏覽(34)
  • Unity 安卓構(gòu)建錯(cuò)誤:IL2cpp 需要提取的資源提取失敗

    Unity 安卓構(gòu)建錯(cuò)誤:IL2cpp 需要提取的資源提取失敗 問題描述: 在 Unity 中進(jìn)行安卓構(gòu)建時(shí),可能會(huì)遇到一個(gè)報(bào)錯(cuò)信息:“failed to extract resources needed by IL2cpp”。這個(gè)錯(cuò)誤通常發(fā)生在將 Unity 項(xiàng)目構(gòu)建為安卓應(yīng)用程序時(shí),而 IL2cpp 則是 Unity 用于將 C# 代碼編譯為本地代碼的工具。

    2024年02月04日
    瀏覽(29)
  • 解決Unity安卓編譯錯(cuò)誤: IL2CPP需要的資源提取失敗

    解決Unity安卓編譯錯(cuò)誤: IL2CPP需要的資源提取失敗 在開發(fā)Unity游戲時(shí),我們經(jīng)常會(huì)遇到各種各樣的問題。其中一個(gè)常見的問題是,當(dāng)我們嘗試將游戲?qū)С鰹锳ndroid應(yīng)用程序時(shí),可能會(huì)遇到一個(gè)名為\\\"Failed to extract resources needed by IL2CPP\\\"的錯(cuò)誤。本文將介紹如何解決這個(gè)問題,并提供

    2024年02月03日
    瀏覽(85)
  • 2023年Unity Il2CPP/MONO FPS逆向工程

    2023年Unity Il2CPP/MONO FPS逆向工程

    實(shí)戰(zhàn)引擎 : Unity Il2CPP/Mono 學(xué)完可做 : 森林之子,后室,逃離塔科夫,BattleBit,Rust等 幾乎通殺全部Unity引擎游戲 簡(jiǎn)介: 實(shí)戰(zhàn)編程代碼:C/C++ B站空間:https://space.bilibili.com/2134677790 課程詳細(xì)目錄 :2023年Unity Il2CPP/MONO FPS逆向工程 · 語(yǔ)雀 聯(lián)系方式 :點(diǎn)擊課程詳細(xì)目錄查看 效果圖

    2024年02月13日
    瀏覽(27)
  • Unity2020 打包報(bào)錯(cuò):windowUnity.IL2CPP.Building.BuilderFailedException

    Unity2020 打包報(bào)錯(cuò):windowUnity.IL2CPP.Building.BuilderFailedException

    在打包的時(shí)候報(bào)錯(cuò):windowUnity.IL2CPP.Building.BuilderFailedException 解決方法:把IL2CPP換成mono,重新打包即可 依次點(diǎn)擊:Edit-Player-Configuration-Mono 再次重新打包即可

    2024年02月16日
    瀏覽(27)
  • 反編譯Unity IL2CPP APK:深入探索逆向工程技術(shù)

    反編譯Unity IL2CPP APK:深入探索逆向工程技術(shù) 在移動(dòng)應(yīng)用開發(fā)領(lǐng)域中,Unity引擎被廣泛使用以創(chuàng)建令人驚嘆的游戲和應(yīng)用程序。然而,有時(shí)候我們可能需要研究某些應(yīng)用程序的內(nèi)部機(jī)制或者了解其實(shí)現(xiàn)細(xì)節(jié)。本文將介紹如何反編譯基于Unity引擎的IL2CPP APK,并提供相應(yīng)的源代碼和

    2024年02月06日
    瀏覽(26)
  • 新版UNITY游戲(IL2CPP類型)使用內(nèi)嵌型機(jī)器翻譯插件XUnity.AutoTranslator的食用方法

    #新版UNITY游戲(IL2CPP類型)使用內(nèi)嵌型機(jī)器翻譯插件XUnity.AutoTranslator的食用方法# 文檔更新時(shí)間:2022/4/3 20:02:50 網(wǎng)絡(luò)具備訪問github.com的能力 能夠進(jìn)行網(wǎng)頁(yè)翻譯的瀏覽器(用來(lái)查看官方的說(shuō)明文檔),以及耐心 網(wǎng)絡(luò)能夠訪問機(jī)器翻譯服務(wù)(谷歌等),如果使用百度需要注冊(cè)百

    2024年02月09日
    瀏覽(80)
  • Unity WebGL 打包il2cpp.exe did not run properly!

    Unity WebGL 打包il2cpp.exe did not run properly!

    是中文問題,WebGL的illcpp對(duì)執(zhí)行過(guò)程中一點(diǎn)點(diǎn)的中文都不允許存在。包括 硬盤的中文名稱 參考 如何更改磁盤盤符的名字 我的文檔中的用戶名有中文 系統(tǒng)用戶名有中文 win+L封鎖之后解鎖會(huì)出現(xiàn)當(dāng)前系統(tǒng)用戶是否有中文 打包路徑中有中文 這個(gè)很好解決 環(huán)境變量中有中文 由于

    2024年02月16日
    瀏覽(22)
  • Unity IL2CPP包Crash閃退提示 Cause: null pointer dereference 解決辦法

    Unity IL2CPP包Crash閃退提示 Cause: null pointer dereference 解決辦法

    最近打包到安卓測(cè)試時(shí)進(jìn)logo后一直閃退,打開Android Logcat后發(fā)現(xiàn)拋出crash 看樣子是空引用崩潰的 在網(wǎng)上找了幾個(gè)方法來(lái)試試,到最后才發(fā)現(xiàn)是場(chǎng)景里有Missing物體 方法1.關(guān)閉StripEngineCode 在Project Settings選擇Player頁(yè),在里面的Other Settings取消勾選Strip Engine Code 我試了這個(gè)對(duì)我沒用

    2024年03月17日
    瀏覽(46)
  • 【軟件逆向】如何逆向Unity3D+il2cpp開發(fā)的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】

    【軟件逆向】如何逆向Unity3D+il2cpp開發(fā)的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】

    課程作業(yè)要求使用反編譯技術(shù),在游戲中實(shí)現(xiàn)無(wú)碰撞。正常情況下碰撞后角色死亡,修改為直接穿過(guò)物體不死亡。 il2CppDumper。 DnSpy。 IDA Pro。 AndroidKiller。 一、使用il2CppDumper導(dǎo)出程序集 將{my_game}.apk后綴修改為{my_game}.zip,使用解壓工具解壓至文件夾{my_game}。(my_game為apk的文件

    2024年02月05日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包