You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity打包Android版本时il2cpp.exe运行异常问题咨询

解决Unity构建Android时il2cpp.exe找不到.o目标文件的异常

问题描述:无法构建Android版本,出现异常:C:\Program Files\Unity\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe 未正常运行!执行以下命令时失败:

"C:\Program Files\Unity\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe" --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARM64" --configuration="Release" --outputpath="C:\Users\lenovo\Desktop\Yazılım\Unity Engine\Oyun Projeleri\the game\Temp\StagingArea\assets\bin\Data\Native\arm64-v8a\libil2cpp.so" --cachedirectory="C:\Users\lenovo\Desktop\Yazılım\Unity Engine\Oyun Projeleri\the game\Assets\..\Library\il2cpp_android_arm64-v8a/il2cpp_cache" --additional-include-directories="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/NDK" --profiler-report --map-file-parser="C:/Program Files/Unity/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory="C:/Users/lenovo/Desktop/Yazılım/Unity Engine/Oyun Projeleri/the game/Temp/StagingArea/assets/bin/Data/Managed" --generatedcppdir="C:/Users/lenovo/Desktop/Yazılım/Unity Engine/Oyun Projeleri/the game/Temp/StagingArea/Il2Cpp/il2cppOutput"

标准输出显示150个目标文件全部编译完成,但il2cpp.exe抛出Unity.IL2CPP.Building.BuilderFailedException,提示clang++.exe找不到大量il2cpp_cache目录下的.o文件。

我之前在构建Android包时也踩过几乎一模一样的坑,分享几个亲测有效的解决步骤:

  • 清理Il2Cpp缓存目录
    直接定位到报错里的缓存文件夹:C:/Users/lenovo/Desktop/Yazılım/Unity Engine/Oyun Projeleri/the game/Library/il2cpp_android_arm64-v8a/il2cpp_cache,把整个文件夹删除,然后重启Unity再尝试构建。缓存文件损坏是这类问题最常见的原因,删除后Il2Cpp会重新生成干净的缓存文件。

  • 检查NDK路径与版本兼容性
    打开Unity的Edit > Preferences > External Tools,确认Android NDK的路径是Unity自带的那一个(也就是报错里的C:/Program Files/Unity/Editor/Data/PlaybackEngines/AndroidPlayer/NDK)。如果之前手动替换过第三方NDK,很可能出现版本不兼容的情况,切换回默认NDK大概率能解决问题。另外也可以考虑把Unity更新到对应版本的稳定版,避免版本适配问题。

  • 调整项目路径,避免特殊字符与过长路径
    你的项目路径里包含非英文字符(比如Yazılım),虽然Windows现在支持UTF-8路径,但Il2Cpp对特殊字符的处理偶尔会出问题。建议把整个项目移动到纯英文、路径更短的目录下,比如C:\UnityProjects\the game,然后重新打开项目进行构建。

  • 强制重新生成所有中间文件
    先通过Unity菜单栏的Build > Clean Build清理构建缓存,要是没用的话,可以手动删除项目根目录下的Temp和Library文件夹(注意提前备份重要的自定义资源),让Unity重新生成所有依赖文件和Il2Cpp编译所需的代码。

  • 检查磁盘剩余空间
    Il2Cpp编译过程会生成大量临时文件,确保项目所在磁盘(尤其是C盘)有至少10GB以上的剩余空间,避免因为磁盘空间不足导致.o文件没有被正确写入到缓存目录中。

内容的提问来源于stack exchange,提问作者efkansenol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 03:12:35