【问题标题】:Cannot Build with IL2CPP无法使用 IL2CPP 构建
【发布时间】:2020-01-22 07:16:42
【问题描述】:

我正在尝试使用 IL2CPP 构建 APKApp Bundle,但是在构建时,构建过程转到 "Building带有 IL2CPP 的本机二进制文件” 然后它停止并且我收到以下错误:

Failed running D:\Program Files\Unity Versions\2019.1.0f2\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="D:\Workspace\UnitySandbox\EMIAPTest\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="D:\Workspace\UnitySandbox\EMIAPTest\Assets\..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="D:\Program Files\Unity Versions\2019.1.0f2\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="D:\Program Files\Unity Versions\2019.1.0f2\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="D:/Program Files/Unity Versions/2019.1.0f2/Editor/Data/PlaybackEngines/AndroidPlayer/NDK" --profiler-report --map-file-parser="D:/Program Files/Unity Versions/2019.1.0f2/Editor/Data/Tools/MapFileParser/MapFileParser.exe" --directory=D:/Workspace/UnitySandbox/EMIAPTest/Temp/StagingArea/assets/bin/Data/Managed --generatedcppdir=D:/Workspace/UnitySandbox/EMIAPTest/Temp/StagingArea/Il2Cpp/il2cppOutput

stdout:

Building libil2cpp.so with AndroidToolChain

    Output directory: D:\Workspace\UnitySandbox\EMIAPTest\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a

    Cache directory: D:\Workspace\UnitySandbox\EMIAPTest\Library\il2cpp_android_armeabi-v7a\il2cpp_cache

il2cpp.exe didn't catch exception: System.AggregateException: One or more errors occurred. ---> System.ComponentModel.Win32Exception: The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)

  --- End of inner exception stack trace ---

  at Unity.IL2CPP.Building.ParallelFor.RunWithResult[D,T](D[] data, Func`2 action)

  at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)

  at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)

  at il2cpp.Program.DoRun(String[] args)

  at il2cpp.Program.Run(String[] args)

  at il2cpp.Program.Main(String[] args)

---> (Inner Exception #0) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #1) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #2) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #3) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #4) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #5) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #6) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



---> (Inner Exception #7) System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)<---



stderr:



Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.ComponentModel.Win32Exception: The specified executable is not a valid application for this OS platform.

  at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)

  at Unity.IL2CPP.Shell.Execute(ExecuteArgs executeArgs, IExecuteController controller)

  at Unity.IL2CPP.Building.CppProgramBuilder.ProvideObjectFile(IntermediateObjectFileCompilationData data)

  at Unity.IL2CPP.Building.ParallelFor.<>c__DisplayClass1_0`2.<RunWithResult>b__0(Object o)

  --- End of inner exception stack trace ---

  at Unity.IL2CPP.Building.ParallelFor.RunWithResult[D,T](D[] data, Func`2 action)

  at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)

  at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)

  at il2cpp.Program.DoRun(String[] args)

  at il2cpp.Program.Run(String[] args)

  at il2cpp.Program.Main(String[] args)


UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List`1, Action`1, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:496)
UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(String, String, String, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:477)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:334)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:63)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

紧随其后的是这个错误:

Exception: D:\Program Files\Unity Versions\2019.1.0f2\Editor\Data\il2cpp/build/il2cpp.exe did not run properly!
UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:130)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:496)
UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (System.String inputDirectory, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:477)
UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:334)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:63)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <177bc8179be6497489c4b5b319f290d7>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <177bc8179be6497489c4b5b319f290d7>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <177bc8179be6497489c4b5b319f290d7>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <177bc8179be6497489c4b5b319f290d7>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:281)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

然后我得到通常的“构建失败”错误。

我正在运行 Unity 2019.1.0f2。在 Mono 上构建 APKApp Bundle 效果很好。

【问题讨论】:

  • 如果你做一个空白项目可以编译成 il2cpp apk 吗?

标签: unity3d


【解决方案1】:

解决了!我尝试了 Unity 2019.1.11f1,它适用于新版本!

附言希望有一天它会对某人有所帮助:)

【讨论】:

    【解决方案2】:

    还要确保选择

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-18
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 2021-06-04
      • 2019-12-24
      • 2019-10-31
      • 2022-10-07
      相关资源
      最近更新 更多